CN109150500A - 一种基于可重构阵列的Blowfish算法的映射方法 - Google Patents

一种基于可重构阵列的Blowfish算法的映射方法 Download PDF

Info

Publication number
CN109150500A
CN109150500A CN201811002551.6A CN201811002551A CN109150500A CN 109150500 A CN109150500 A CN 109150500A CN 201811002551 A CN201811002551 A CN 201811002551A CN 109150500 A CN109150500 A CN 109150500A
Authority
CN
China
Prior art keywords
reconfigurable arrays
blowfish algorithm
mathematical model
blowfish
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811002551.6A
Other languages
English (en)
Inventor
朱敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Kate Microelectronics Co Ltd
Original Assignee
Wuxi Kate Microelectronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuxi Kate Microelectronics Co Ltd filed Critical Wuxi Kate Microelectronics Co Ltd
Priority to CN201811002551.6A priority Critical patent/CN109150500A/zh
Publication of CN109150500A publication Critical patent/CN109150500A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及数字签名算法技术领域,具体公开了一种基于可重构阵列的Blowfish算法的映射方法,其中,所述基于可重构阵列的Blowfish算法的映射方法包括:获取Blowfish算法的数学模型;根据可重构阵列的特性对所述Blowfish算法的数学模型进行分解;将分解后的Blowfish算法的数学模型在可重构阵列上进行映射得到映射图;将所述映射图生成配置信息;将所述配置信息下载至可重构阵列的硬件中,实现Blowfish算法的运算。本发明提供的基于可重构阵列的Blowfish算法的映射方法解决了Blowfish算法在通用微处理器上运行性能低下的问题,具有运行性能高且不需要更换芯片的优势。

Description

一种基于可重构阵列的Blowfish算法的映射方法
技术领域
本发明涉及数字签名算法技术领域,尤其涉及一种基于可重构阵列的Blowfish算法的映射方法。
背景技术
Blowfish算法是一个64位分组及可变密钥长度的对称密钥分组密码算法,可用来加密64比特长度的字符串。32位处理器诞生后,Blowfish算法因其在加密速度上超越了DES而引起人们的关注。Blowfish算法具有加密速度快、紧凑、密钥长度可变、可免费使用等特点,已被广泛使用于众多加密软件。
传统blowfish算法的实现一般采用两种方案:一是在通用微处理器上实现,虽然其使用灵活,便于更新,但限制与微处理器本身的运行性能相对低下,使得blowfish的性能远远不能满足要求;二是在专用ASIC上实现,正好相反,其性能很高,但是其灵活性很差,当需要更换算法时,就不得不更换芯片,这使得使用成本很高。
可重构阵列系统既具有ASIC的高性能、高速度,又具有微处理器的高度通用性和强大的可编程功能,能够弥补两者各自的缺陷。因此,如何提供一种基于可重构阵列的Blowfish算法的映射方法成为本领域技术人员亟待解决的技术问题。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一,提供一种基于可重构阵列的Blowfish算法的映射方法,以解决现有技术中的问题。
作为本发明的一个方面,提供一种基于可重构阵列的Blowfish算法的映射方法,其中,所述基于可重构阵列的Blowfish算法的映射方法包括:
获取Blowfish算法的数学模型;
根据可重构阵列的特性对所述Blowfish算法的数学模型进行分解;
将分解后的Blowfish算法的数学模型在可重构阵列上进行映射得到映射图;
将所述映射图生成配置信息;
将所述配置信息下载至可重构阵列的硬件中,实现Blowfish算法的运算。
优选地,所述根据可重构阵列的特性对所述Blowfish算法的数学模型进行分解包括根据可重构阵列的循环次数特性对所述Blowfish算法的数学模型进行分解。
优选地,所述根据可重构阵列的特性对所述Blowfish算法的数学模型进行分解包括根据可重构阵列的特征对所述Blowfish算法的数学模型进行分解得到三部分分解模型。
优选地,所述将分解后的Blowfish算法的数学模型在可重构阵列上进行映射得到映射图包括将三部分分解模型在可重构阵列上进行映射得到三幅映射图。
优选地,每幅所述映射图对应一种配置信息。
本发明提供的基于可重构阵列的Blowfish算法的映射方法,通过获取Blowfish算法的数学模型,并对Blowfish算法的数学模型根据可重构阵列的特性进行分解,然后对分解后的Blowfish算法的数学模型进行映射,最终实现在可重构阵列的硬件中对Blowfish算法运行,解决了Blowfish算法在通用微处理器上运行性能低下的问题,具有运行性能高且不需要更换芯片的优势。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1为本发明提供的基于可重构阵列的Blowfish算法的映射方法的流程图。
图2为本发明提供的Blowfish算法的数学模型计算流程图。
图3为F的表达式。
图4为本发明提供的明文做大小端转换的映射流程图。
图5为本发明提供的16轮迭代运算的映射的流程图。
图6为本发明提供的结果输出示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
作为本发明的一个方面,提供一种基于可重构阵列的Blowfish算法的映射方法,其中,如图1所示,所述基于可重构阵列的Blowfish算法的映射方法包括:
S110、获取Blowfish算法的数学模型;
S120、根据可重构阵列的特性对所述Blowfish算法的数学模型进行分解;
S130、将分解后的Blowfish算法的数学模型在可重构阵列上进行映射得到映射图;
S140、将所述映射图生成配置信息;
S150、将所述配置信息下载至可重构阵列的硬件中,实现Blowfish算法的运算。
本发明提供的基于可重构阵列的Blowfish算法的映射方法,通过获取Blowfish算法的数学模型,并对Blowfish算法的数学模型根据可重构阵列的特性进行分解,然后对分解后的Blowfish算法的数学模型进行映射,最终实现在可重构阵列的硬件中对Blowfish算法运行,解决了Blowfish算法在通用微处理器上运行性能低下的问题,具有运行性能高且不需要更换芯片的优势。
应当理解的是,所述获取Blowfish算法的数学模型具体可以为直接在网络上下载Blowfish算法数学模型。
具体地,所述根据可重构阵列的特性对所述Blowfish算法的数学模型进行分解包括根据可重构阵列的循环次数特性对所述Blowfish算法的数学模型进行分解。
具体地,所述根据可重构阵列的特性对所述Blowfish算法的数学模型进行分解包括根据可重构阵列的特征对所述Blowfish算法的数学模型进行分解得到三部分分解模型。
进一步具体地,所述将分解后的Blowfish算法的数学模型在可重构阵列上进行映射得到映射图包括将三部分分解模型在可重构阵列上进行映射得到三幅映射图。
进一步具体地,每幅所述映射图对应一种配置信息。
需要说明的是,可重构阵列中资源包含:M1个计算阵列子块,每个子块有M2行,每行有M3个算子:M4个AU、M5个SU、M6个LU、M7个SBOX和M8个BENES,这些算子可以根据配置信息动态的调整,来完成不同的算法运算。M1~M8均取整数。
AU:可实现模28、216、232和(232-1)的加法;
SU:可实现32bit数据任意位数的移位和循环移位;
LU:可实现多个数据间的与、或、非组合运算;
SBOX:可实现4->4、6->4、8->8、8->32、9->9的查表操作;
BENES:可实现128bit数据内任意比特置换。
下面结合图2至图6对本发明提供的基于可重构阵列的Blowfish算法的映射方法的具体实现过程进行详细描述。
图2为下载的Blowfish算法的数学模型计算流程图,图3为函数F的表达式。
表1图2和图3中出现的符号说明
关于Blowfish算法的数学模型的具体映射过程如下:
1)分析Blowfish算法,结合可重构阵列的特点,人为依据每张图的循环次数不同映射成3张数据流图;
2)根据数据流图生成配置信息;
3)将配置信息和运算数据存入相应的存储器中;
4)可重构阵列解析配置信息,微处理器指示可重构阵列进行计算,计算结束后,可重构阵列发出中断信号,通知微处理器读取数据。
每张图对应一种配置信息,在可重构阵列中通过解析这些配置信息可以完成该算法的映射(在映射过程中,输入RAM数据、SBOX数据以及BFU、BENES、RCU、SBOX的配置数据)。完成可重构处理器的配置后,微处理器向相应的寄存器写入特定的值,启动阵列开始运算。当OFIFO填充满后会触发中断,来通知微处理器读取加密数据。在可重构阵列中仅实现在可重构阵列中仅实现blowfish算法的加密部分,子秘钥作为已知量。
如图4所示,将明文从IFIFO读入到MEM,循环次数设置为1;如图5所示,完成16轮迭代运算,循环次数设置为16;如图6所示,结果输出至OFIFO,循环次数设置为1。
图4所示的具体映射流程如下:
1)从IFIFO读入明文做大小端转换,结果输出至MEM。
图5具体映射流程如下:
1)从MEM读出秘钥Pi和XL载入SBOX算子,得到结果S1、S2、S3、S4输出至缓存单元;
2)从缓存单元读取S1、S2、S3载入AU算子,功能配置为(S1+S2)^S3,结果R1输出至缓存单元;
3)从MEM读出XR载入AU算子,功能配置为(R1+S4)^XR,得到下一轮XR输出至MEM;
4)从MEM读出秘钥Pi和XL载入LU算子,功能配置为XL^Pi,得到下一轮XL输出至MEM。
图6具体映射流程如下:
1)从MEM读出秘钥P17和XR载入LU算子,功能配置为XR^P17,得到密文CR输出至缓存单元;
2)从MEM读出秘钥P18和XL载入LU算子,功能配置为XL^P18,得到密文CL输出至缓存单元;
3)从缓存单元读出CR和CL做大小端转换,得到密文输出至OFIFO。
因此,本发明提供的基于可重构阵列的Blowfish算法的映射方法在可重构阵列系统上实现能够有效克服传统Blowfish算法的缺陷,具有运行性能高且更换算法时不需要更换芯片的优势。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (5)

1.一种基于可重构阵列的Blowfish算法的映射方法,其特征在于,所述基于可重构阵列的Blowfish算法的映射方法包括:
获取Blowfish算法的数学模型;
根据可重构阵列的特性对所述Blowfish算法的数学模型进行分解;
将分解后的Blowfish算法的数学模型在可重构阵列上进行映射得到映射图;
将所述映射图生成配置信息;
将所述配置信息下载至可重构阵列的硬件中,实现Blowfish算法的运算。
2.根据权利要求1所述的基于可重构阵列的Blowfish算法的映射方法,其特征在于,所述根据可重构阵列的特性对所述Blowfish算法的数学模型进行分解包括根据可重构阵列的循环次数特性对所述Blowfish算法的数学模型进行分解。
3.根据权利要求1所述的基于可重构阵列的Blowfish算法的映射方法,其特征在于,所述根据可重构阵列的特性对所述Blowfish算法的数学模型进行分解包括根据可重构阵列的特征对所述Blowfish算法的数学模型进行分解得到三部分分解模型。
4.根据权利要求3所述的基于可重构阵列的Blowfish算法的映射方法,其特征在于,所述将分解后的Blowfish算法的数学模型在可重构阵列上进行映射得到映射图包括将三部分分解模型在可重构阵列上进行映射得到三幅映射图。
5.根据权利要求4所述的基于可重构阵列的Blowfish算法的映射方法,其特征在于,每幅所述映射图对应一种配置信息。
CN201811002551.6A 2018-08-30 2018-08-30 一种基于可重构阵列的Blowfish算法的映射方法 Pending CN109150500A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811002551.6A CN109150500A (zh) 2018-08-30 2018-08-30 一种基于可重构阵列的Blowfish算法的映射方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811002551.6A CN109150500A (zh) 2018-08-30 2018-08-30 一种基于可重构阵列的Blowfish算法的映射方法

Publications (1)

Publication Number Publication Date
CN109150500A true CN109150500A (zh) 2019-01-04

Family

ID=64829473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811002551.6A Pending CN109150500A (zh) 2018-08-30 2018-08-30 一种基于可重构阵列的Blowfish算法的映射方法

Country Status (1)

Country Link
CN (1) CN109150500A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871701A (zh) * 2019-02-02 2019-06-11 清华大学 基于可重构阵列实现分组密码算法的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630275A (zh) * 2009-07-31 2010-01-20 清华大学 一种实现生成循环任务配置信息的方法和装置
CN102214157A (zh) * 2011-06-08 2011-10-12 清华大学 一种动态可重构阵列时序控制的方法
CN102340668A (zh) * 2011-09-30 2012-02-01 上海交通大学 一种基于可重构技术的mpeg2亮度插值的实现方法
CN102438149A (zh) * 2011-10-10 2012-05-02 上海交通大学 一种基于可重构技术的avs反变换的实现方法
CN103218347A (zh) * 2013-04-28 2013-07-24 清华大学 面向可重构阵列的多参数融合性能建模方法
CN107679012A (zh) * 2017-09-27 2018-02-09 清华大学无锡应用技术研究院 用于可重构处理系统的配置的方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630275A (zh) * 2009-07-31 2010-01-20 清华大学 一种实现生成循环任务配置信息的方法和装置
CN102214157A (zh) * 2011-06-08 2011-10-12 清华大学 一种动态可重构阵列时序控制的方法
CN102340668A (zh) * 2011-09-30 2012-02-01 上海交通大学 一种基于可重构技术的mpeg2亮度插值的实现方法
CN102438149A (zh) * 2011-10-10 2012-05-02 上海交通大学 一种基于可重构技术的avs反变换的实现方法
CN103218347A (zh) * 2013-04-28 2013-07-24 清华大学 面向可重构阵列的多参数融合性能建模方法
CN107679012A (zh) * 2017-09-27 2018-02-09 清华大学无锡应用技术研究院 用于可重构处理系统的配置的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871701A (zh) * 2019-02-02 2019-06-11 清华大学 基于可重构阵列实现分组密码算法的方法及装置

Similar Documents

Publication Publication Date Title
Bertoni et al. Keccak specifications
Carlet et al. An infinite class of balanced functions with optimal algebraic immunity, good immunity to fast algebraic attacks and good nonlinearity
KR101246490B1 (ko) 갈루아 폐체 암호 시스템
JP4890976B2 (ja) 暗号処理装置
US7801307B2 (en) Method of symmetric key data encryption
US20090310775A1 (en) Using a single instruction multiple data (SIMD) instruction to speed up galois counter mode (GCM) computations
US20080240423A1 (en) Speeding up galois counter mode (gcm) computations
CN104333446B (zh) 一种新型超轻量级qtl分组密码实现方法
JP2005512183A (ja) ガロア体乗算システム
Klimov et al. New applications of T-functions in block ciphers and hash functions
CN100428140C (zh) 椭圆曲线密码体制协处理器的实现方法
CN103684749B (zh) 一种基于面积与性能平衡优化的klein加密实现方法
WO2023065960A1 (zh) 一种基于risc架构的cpu指令集系统及cpu系统
TWI420807B (zh) 通訊系統之任意移頻器
CN109150500A (zh) 一种基于可重构阵列的Blowfish算法的映射方法
CN109327276B (zh) 安全编码方法、解码方法及设备
CN113726501A (zh) 保留格式加密数据的方法、装置、电子设备及存储介质
WO2002069136A1 (en) Polynomial arithmetic operations
WO2021197841A1 (en) Parallel generation of a random matrix
Al-Ahdal et al. A robust lightweight algorithm for securing data in internet of things networks
CN109274497A (zh) 一种基于可重构阵列的sm3算法的映射方法
Greconici Kyber on RISC-V
Heyse Post quantum cryptography: implementing alternative public key schemes on embedded devices
CN100417031C (zh) 宽带无线接入系统中里德索洛门卷积级联码的实现方法
Kuang et al. Benchmark performance of the multivariate polynomial public key encapsulation mechanism

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190104

RJ01 Rejection of invention patent application after publication