WO2016012825A1 - System and method for generating random key stream cipher texts - Google Patents

System and method for generating random key stream cipher texts Download PDF

Info

Publication number
WO2016012825A1
WO2016012825A1 PCT/IB2014/001385 IB2014001385W WO2016012825A1 WO 2016012825 A1 WO2016012825 A1 WO 2016012825A1 IB 2014001385 W IB2014001385 W IB 2014001385W WO 2016012825 A1 WO2016012825 A1 WO 2016012825A1
Authority
WO
WIPO (PCT)
Prior art keywords
frequency domain
cipher text
frequency
key stream
random key
Prior art date
Application number
PCT/IB2014/001385
Other languages
French (fr)
Inventor
Michael James LEWIS
Neil Leckett
A.A. Jithra Adikari
Original Assignee
Elliptic Technologies Inc.
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 Elliptic Technologies Inc. filed Critical Elliptic Technologies Inc.
Priority to PCT/IB2014/001385 priority Critical patent/WO2016012825A1/en
Publication of WO2016012825A1 publication Critical patent/WO2016012825A1/en

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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Abstract

A system for generating random key stream cipher texts passes an unencrypted random key stream through an AES engine to produce encrypted cipher text having a first block size in a first frequency domain; converts the encrypted cipher text in the first frequency domain to encrypted cipher text in a second frequency domain; and converts the encrypted cipher text having the first block size in the second frequency domain into smaller block sizes. The frequency in the first frequency domain is preferably lower than the frequency in the second frequency domain. The converting of the encrypted cipher text in the first frequency domain to encrypted cipher text in a second frequency domain may be effected by a dual clock domain FIFO.

Description

SYSTEM AND METHOD FOR GENERATING RANDOM KEY STREAM CIPHER TEXTS
FIELD OF THE INVENTION
[0001] The present disclosure relates to the field of generating random key stream cipher texts with smaller block sizes of higher frequency.
BACKGROUND
[0002] In the field of cryptography, a key stream is a stream of characters that are combined with a plain text message to produce an encrypted message, known as the cipher text. The characters that are combined with the plain text message may be random or pseoudorandom characters, such as bits, bytes, numbers or actual characters like A-Z depending on the usage case.
[0003] The Advanced Encryption Standard (AES) is a block cipher logic specification for the encryption of electronic data established by the U.S. National Institute of Standards and Technology (NIST). Generally, an Advanced Encryption Standard (AES) engine has a long critical path. The critical path may be regarded as the path that takes the longest time in a combinational logic system for information to navigate through. As a result AES engines having longer critical paths cannot be run at a higher clock frequency. Further, AES engines are set to deliver large block size cipher texts, usually set at 128 bits. Therefore, the output from AES engines are of large block sizes with lower frequency.
[0004] In some applications, however, there is a requirement for smaller block size cipher texts that are of a higher frequency. Existing solutions do not allow the production of small block size cipher texts at a higher frequency.
[0005] This background information is provided to reveal information believed by the applicant to be of possible relevance to the present invention. No admission is necessarily intended, nor should be construed, that any of the preceding information constitutes prior art against the present invention.
SUMMARY
[0006] In accordance with one embodiment, a method for generating random key stream cipher texts, the method comprises passing an unencrypted random key stream through an AES engine to produce encrypted cipher text having a first block size in a first frequency domain; converting the encrypted cipher text in the first frequency domain to encrypted cipher text in a second frequency domain; and converting the encrypted cipher text having the first block size in the second frequency domain into smaller block sizes, thereby producing smaller block-sized cipher text of the second frequency domain. In one implementation, the frequency in the first frequency domain is lower than the frequency in the second frequency domain, and the converting of the encrypted cipher text in the first frequency domain to encrypted cipher text in a second frequency domain is effected by a dual clock domain FIFO.
[0007] Another embodiment is a cryptographic random key stream generator system comprising an AES engine that receives an unencrypted random key stream and produces an encrypted cipher text having a first block size in a first frequency domain; a dual clock domain FIFO that converts said encrypted cipher text in the first frequency domain to encrypted cipher text in a second frequency domain; and at least one register and at least one multiplexer that convert the encrypted cipher text having the first block size in the second frequency domain into smaller block sizes, thereby producing smaller block-sized cipher text of the second frequency domain.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The foregoing and other advantages of the invention will become apparent upon reading the following detailed description and upon reference to the drawings, in which:
[0009] FIG. 1 is a block diagram of a cryptographic random key stream generator system.
[0010] FIG. 2 is a flow chart of a method to generate small blocks of random key stream cipher texts with a second/higher frequency.
[0011] While the present disclosure is susceptible to various modifications and alternative forms, specific embodiments or implementations have been shown by way of example in the drawings and will be described in detail herein. It should be understood, however, that the disclosure is not intended to be limited to the particular forms disclosed. Rather, the disclosure is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of an invention as defined by the appended claims.
DETAILED DESCRIPTION
Glossary
[0012] Cipher Text: Plain data that is encrypted via an encryption process. Cipher text may also be regarded as any data that has gone through a cryptographic process. [0013] Cryptography: Cryptography may be regarded as an algorithm for performing encryption or decryption.
[0014] Encryption: In cryptography, encryption is the process by which information is encoded in such a way that only authorized parties can decipher the messages or information.
[0015] Decryption: In cryptography, decryption is the process of converting the encrypted information back to its original form.
[0016] Cipher: A cryptographic algorithm may be regarded as a cipher.
[0017] Key: In cryptography, a key may be regarded as a piece of information that determines the output of a cryptographic algorithm. Without a key, a cryptographic algorithm may not produce any useful result. During encryption, a key specifies the particular transformation of plain text into cipher text. Likewise, during decryption, a key specifies the particular transformation of cipher text into plain text.
[0018] Key Size: In cryptography, a key size may be regarded as the size of the key generally measured in bits.
[0019] Block Size: In cryptography, a block size may be regarded as the size of the plain text or cipher text measured in bits.
[0020] Advanced Encryption Standard (AES): AES was established by the U.S. National Institute of Standards and Technology (NIST) as a standard for the encryption of electronic data. AES has a fixed block size of 128 bits and a key size of 128, 192, or 256 bits.
[0021] Dual clock domain First In First Out (FIFO): A dual clock domain FIFO comprises a buffer and two clock domains, one clock domain at the FIFO input interface and a second clock domain at the FIFO output interface.
Description
[0022] Referring first to FIG. 1 , there is provided a cryptographic random key stream generator system 100 that includes a random key stream generator 101, an AES engine 102, a dual clock domain FIFO 103, a block of registers 104, and a multiplexer (MUX) 105. The random key stream generator 101 generates a random key stream of 128 bits of plain text, which is then passed on to an AES engine 102 for encryption. The AES engine takes the random key stream and encrypts it to produce a random key stream cipher text at a first frequency. The frequency of the plain text and the cipher text are the same. The random key stream generator or an input AES engine may produce block sizes that are larger or smaller than 128 bits.
[0023] The random key stream cipher text is written into a dual clock domain FIFO. The write-side of the FIFO is at the same clock frequency as the random key stream cipher text. The dual clock domain FIFO output phase, which is in a different clock domain than the input phase, outputs the random key stream cipher text. The input data width of the dual clock domain FIFO is the same as the output data width of the AES engine.
[0024] The cipher text, which is in a second frequency domain, is then scanned to select narrower data samples in the second frequency domain. This may be done by storing the random key stream cipher text in the second frequency in smaller size registers. These smaller blocks of random key stream cipher texts with the second frequency are then passed on to a multiplexer, which feeds the smaller block sized random key stream cipher texts of the second frequency to the appropriate application(s). The first frequency may be lower than the second frequency.
[0025] The cryptographic random key stream generator components disclosed herein may be operatively coupled in any manner to produce smaller blocks of random key stream cipher texts of higher frequency. The random key stream generator component may be a combination of an Initialization Vector (IV) and counter, wherein the IV generates a random stream of a certain bit size, and the counter generates sequential increment streams of a certain bit size. They both are then concatenated to produce a random key stream plain text. The bit size of the stream that the IV generates may be 64 bits, and the bit size of the counter stream may also be 64 bits to produce a concatenated large block sized random key stream of 128 bits.
[0026] One AES engine may feed multiple dual clock domain FIFOs. Alternatively, multiple AES engines may feed two or more AES streams to a single or multiple dual clock domain FIFOs. It is to be understood that any combination thereof as would be apparent to one of ordinary skill in the art would lie within the scope of this disclosure.
[0027] FIG. 2 is a flow chart of a method 200 for generating small blocks of random key stream cipher texts with a desired frequency. The process begins at step 201 by generating an unencrypted random key stream (plain text) using a random key stream generator. The unencrypted random key stream is then encrypted in step 202, to produce a key stream cipher text with a first frequency. Both the plain text and cipher text have the same frequency. The random key stream cipher text, which is in a first frequency domain, is then passed through a dual clock domain FIFO in step 203. Then step 204 obtains a large block sized random key stream cipher text, which is in a second frequency domain, from the output of the dual clock domain FIFO. Step 205 then scans the random key stream cipher text across in the higher clock domain to produce smaller data entries that are used for encryption. [0028] The embodiments described herein may be used in any AES random key stream application that requires a higher throughput at higher frequencies. Higher throughput may be achieved by smaller block sizes as opposed to large block sizes. To achieve smaller block sizes of higher frequency would require manufacturing of a large area AES, which would in turn take up more physical area in the Integrated Chip (IC). By utilizing existing AES engines, for example 128 bit engines, in combination with a dual clock domain FIFOs and other components as disclosed herein, savings in physical space can be achieved in ICs.
[0029] Although the algorithms described above, including those with reference to the foregoing flow charts have been described separately, it should be understood that any two or more of the algorithms disclosed herein can be combined in any combination. Any of the methods, algorithms, implementations, or procedures described herein can include machine- readable instructions for execution by: (a) a processor, (b) a controller, and/or (c) any other suitable processing device. Any algorithm, software, or method disclosed herein can be embodied in software stored on a non-transitory tangible medium such as, for example, a flash memory, a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), or other memory devices, but persons of ordinary skill in the art will readily appreciate that the entire algorithm and/or parts thereof could alternatively be executed by a device other than a controller and/or embodied in firmware or dedicated hardware in a well known manner (e.g., it may be implemented by an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable logic device (FPLD), discrete logic, etc.). Also, some or all of the machine-readable instructions represented in any flowchart depicted herein can be implemented manually as opposed to automatically by a controller, processor, or similar computing device or machine. Further, although specific algorithms are described with reference to flowcharts depicted herein, persons of ordinary skill in the art will readily appreciate that many other methods of implementing the example machine-readable instructions may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined.
[0030] It should be noted that the algorithms illustrated and discussed herein as having various modules, which perform particular functions and interact with one another. It should be understood that these modules are merely segregated based on their function for the sake of description and represent computer hardware and/or executable software code which is stored on a computer-readable medium for execution on appropriate computing hardware. The various functions of the different modules and units can be combined or segregated as hardware and/or software stored on a non-transitory computer-readable medium as above as modules in any manner, and can be used separately or in combination.
[0031] While particular implementations and applications of the present disclosure have been illustrated and described, it is to be understood that the present disclosure is not limited to the precise construction and compositions disclosed herein and that various modifications, changes, and variations can be apparent from the foregoing descriptions without departing from the spirit and scope of an invention as defined in the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A method for generating random key stream cipher texts, the method comprising
passing an unencrypted random key stream through an AES engine to produce encrypted cipher text having a first block size in a first frequency domain;
converting the encrypted cipher text in the first frequency domain to encrypted cipher text in a second frequency domain; and
converting the encrypted cipher text having the first block size in the second frequency domain into smaller block sizes, thereby producing smaller block-sized cipher text of the second frequency domain.
2. The method of claim 1 in which the frequency in said first frequency domain is lower than the frequency in said second frequency domain.
3. The method of claim 1 in which said converting of the encrypted cipher text in the first frequency domain to encrypted cipher text in a second frequency domain is effected by a dual clock domain FIFO.
4. The method of claim 1 in which said converting of the encrypted cipher text having the first block size in the second frequency domain into smaller block sizes is effected by storing the encrypted cipher text in the second frequency in smaller size registers.
5. A cryptographic random key stream generator system, comprising:
an AES engine that receives an unencrypted random key stream and produces an encrypted cipher text having a first block size in a first frequency domain;
a dual clock domain FIFO that converts said encrypted cipher text in the first frequency domain to encrypted cipher text in a second frequency domain; and
at least one register and at least one multiplexer that convert the encrypted cipher text having the first block size in the second frequency domain into smaller block sizes, thereby producing smaller block-sized cipher text of the second frequency domain.
6. The cryptographic random key stream generator system of claim 5 in which the frequency in said first frequency domain is lower than the frequency in said second frequency domain.
7. The cryptographic random key stream generator system of claim 5 which includes small-sized registers that convert the encrypted cipher text having the first block size in the second frequency domain into smaller block sizes.
PCT/IB2014/001385 2014-07-24 2014-07-24 System and method for generating random key stream cipher texts WO2016012825A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/IB2014/001385 WO2016012825A1 (en) 2014-07-24 2014-07-24 System and method for generating random key stream cipher texts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2014/001385 WO2016012825A1 (en) 2014-07-24 2014-07-24 System and method for generating random key stream cipher texts

Publications (1)

Publication Number Publication Date
WO2016012825A1 true WO2016012825A1 (en) 2016-01-28

Family

ID=55162549

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2014/001385 WO2016012825A1 (en) 2014-07-24 2014-07-24 System and method for generating random key stream cipher texts

Country Status (1)

Country Link
WO (1) WO2016012825A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030198345A1 (en) * 2002-04-15 2003-10-23 Van Buer Darrel J. Method and apparatus for high speed implementation of data encryption and decryption utilizing, e.g. Rijndael or its subset AES, or other encryption/decryption algorithms having similar key expansion data flow
US20060126835A1 (en) * 2004-12-13 2006-06-15 Kim Kwang O High-speed GCM-AES block cipher apparatus and method
US20060236102A1 (en) * 2003-09-05 2006-10-19 Jovan Golic Secret-key-controlled reversible circuit and corresponding method of data processing
US20100250965A1 (en) * 2009-03-31 2010-09-30 Olson Christopher H Apparatus and method for implementing instruction support for the advanced encryption standard (aes) algorithm
US8750498B1 (en) * 2006-10-10 2014-06-10 Marvell International Ltd. Method and apparatus for encoding data in accordance with the advanced encryption standard (AES)

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030198345A1 (en) * 2002-04-15 2003-10-23 Van Buer Darrel J. Method and apparatus for high speed implementation of data encryption and decryption utilizing, e.g. Rijndael or its subset AES, or other encryption/decryption algorithms having similar key expansion data flow
US20060236102A1 (en) * 2003-09-05 2006-10-19 Jovan Golic Secret-key-controlled reversible circuit and corresponding method of data processing
US20060126835A1 (en) * 2004-12-13 2006-06-15 Kim Kwang O High-speed GCM-AES block cipher apparatus and method
US8750498B1 (en) * 2006-10-10 2014-06-10 Marvell International Ltd. Method and apparatus for encoding data in accordance with the advanced encryption standard (AES)
US20100250965A1 (en) * 2009-03-31 2010-09-30 Olson Christopher H Apparatus and method for implementing instruction support for the advanced encryption standard (aes) algorithm

Similar Documents

Publication Publication Date Title
Bansal et al. A hybrid data encryption technique using RSA and Blowfish for cloud computing on FPGAs
Kitsos et al. FPGA-based performance analysis of stream ciphers ZUC, Snow3g, Grain V1, Mickey V2, Trivium and E0
US8010587B2 (en) Random number generator
US10305689B2 (en) Encryption apparatus, decryption apparatus, cryptography processing system, encryption method, decryption method, encryption program, and decryption program
Khose et al. Implementation of AES algorithm on FPGA for low area consumption
Kumar et al. A lightweight AES algorithm implementation for encrypting voice messages using field programmable gate arrays
US9008313B1 (en) System and method for generating random key stream cipher texts
Sideris et al. Hardware acceleration of the aes algorithm using nios-ii processor
US9264229B1 (en) System and method for generating random key stream cipher texts
JP6194136B2 (en) Pseudorandom number generation device and pseudorandom number generation program
JP2014240921A (en) Encryption device, encryption processing method and encryption processing program
Yewale Minal et al. Implementation of AES on FPGA
Trivedi et al. Development of platform using nios ii soft core processor for image encryption and decryption using aes algorithm
WO2016012825A1 (en) System and method for generating random key stream cipher texts
Noorbasha et al. FPGA implementation of cryptographic systems for symmetric encryption.
Swamy et al. Performance Analysis of Secure Integrated Circuits using Blowfish Algorithm
KR101925787B1 (en) Method and Apparatus for Securing the Continuity of Random Numbers after Von Neumann Post-processing
Panigrahi et al. Efficient VLSI architecture of medium throughput AES encryption
Matsuoka et al. Reduction of power consumption in key-specific AES circuits
US20040071287A1 (en) Encryption circuit arrangement and method therefor
Khose et al. Hardware implementation of AES encryption and decryption for low area & power consumption
Punia et al. Speed Optimization of the AES Algorithm Using Pipeline Hardware Architecture
Kaur et al. IMPLEMENTATION OF AES ALGORITHM ON FPGA FOR LOW AREA CONSUMPTION.
Prathyusha et al. Implementation of Fast Pipelined AES Algorithm on Xilinx FPGA
Roy et al. FPGA Implementation of a pipelined and pseudo-randomized TDES algorithm

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14898041

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 24.05.2017)

122 Ep: pct application non-entry in european phase

Ref document number: 14898041

Country of ref document: EP

Kind code of ref document: A1