JP2004240427A - 移動通信システムにおける最適の暗号化関数を設計する方法及び最適の暗号化装置 - Google Patents

移動通信システムにおける最適の暗号化関数を設計する方法及び最適の暗号化装置 Download PDF

Info

Publication number
JP2004240427A
JP2004240427A JP2004028523A JP2004028523A JP2004240427A JP 2004240427 A JP2004240427 A JP 2004240427A JP 2004028523 A JP2004028523 A JP 2004028523A JP 2004028523 A JP2004028523 A JP 2004028523A JP 2004240427 A JP2004240427 A JP 2004240427A
Authority
JP
Japan
Prior art keywords
encryption
bit string
encrypted
length
bit
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
JP2004028523A
Other languages
English (en)
Inventor
Won-Seok Heo
原碩 許
Seok-Chan Kim
錫燦 金
Dong-Wook Park
東▲ウク▼ 朴
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2004240427A publication Critical patent/JP2004240427A/ja
Pending legal-status Critical Current

Links

Images

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
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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
    • H04L2209/122Hardware reduction or efficient architectures
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】 本発明は、移動通信システムに関し、特に、ハードウェア具現のための最適の暗号化関数を設計するための方法及び最適の暗号化装置に関する。
【解決手段】 暗号化装置において、第1入力ビット列を入力してキースケジューラーから提供される長さが4nである暗号化コードによって暗号化することにより、長さが2nである第1暗号化ビット列を出力する暗号化部と、制御信号に従ってメモリから長さがmである第2入力ビット列を出力して第1暗号化ビット列と暗号化演算を遂行して長さがmである第2暗号化ビット列を出力し、制御信号に従ってメモリに第2暗号化ビット列をさらに貯蔵するように制御する制御器と、から構成される。
【選択図】 図7

Description

本発明は、移動通信システムに関し、特に、ハードウェア具現のための最適の暗号化関数を設計するための方法及び最適の暗号化装置に関する。
アナログ第1世代通信システムからディジタル第2世代通信システムへ変化していきつつ、移動通信サービス加入者は、さらに多い容量のデータを高速に安定して送受信しようとする。従って、サービス提供者は、より安定し、進歩した暗号化方法を使用して前記加入者の要求を満足させようと努力している。このように、高度の情報化社会で要求している音声信号及び映像信号などのマルチメディアサービスを提供する第3世代システムでは、使用者に関する情報はもちろん、音声信号及びマルチメディアサービスの提供に従う信号の機密性、安定性、及び信頼性を検証するための暗号化アルゴリズムの開発と標準化が要求されている。従って、GSM(Global System For Mobile Communication)核心網に基づいた3GPP(The 3rd Generation Project Partnership)の第3世代システム(Universal Mobile Telecommunication System;UMTS)において、保安構造は、f0〜f10と呼ばれる11個の暗号化アルゴリズムの使用に関する論議が進行中にある。そのうち、国際的なローミングに必要な暗号化アルゴリズムf8及びインテグリティ(integrity)アルゴリズムf9は、すでに標準化されている。このような暗号化アルゴリズムf8及びインテグリティアルゴリズムf9は、日本の三菱電機会社(MITSUBISHI ELECTRONIC CORPORATION)の暗号アルゴリズムMISTYに基づいてKASUMI(MISTYの日本語)という新たなブロック暗号化システムの核心アルゴリズムとして定義されている。
このようなKASUMIアルゴリズムは、8−ラウンドFeistel構造を有するブロック暗号化システムであって、64ビットの平文信号(plaintext)を入力して8回の暗号化ステップを経て64ビットの暗号化信号(ciphertext)を出力する。ここで、平文信号とは、送信側から受信側に伝送しようとする普通の通信文を意味し、暗号化信号とは、普通の通信文を暗号化キーの値によって暗号化演算を遂行して一般的に確認できない機密性が保証された通信文を意味する。
図1は、従来技術によるKASUMI暗号化ブロックのハードウェア構成を示す。図1を参照すると、KASUMI暗号化ブロックは、複数の多重化器(multiplexer;MUX)(MUX1 101、MUX2 102、MUX3 107)、逆多重化器(demultiplexer;DEMUX)(DEMUX 109)、複数のレジスタ(レジスタA1 102、レジスタA2 104)及び暗号化キー値によって暗号化演算を遂行する暗号化ブロック(FL1暗号化部106、FL2暗号化部110、FO暗号化部108)と、前記KASUMI暗号化ブロックの構成要素を制御するための制御器100と、前記暗号化キー値を提供するキースケジューラー105とから構成される。
入力された64ビットの平文信号は、32ビットの信号Lと32ビットの信号Rに分割されてMUX1 101及びMUX2 103にそれぞれ入力される。前記MUX1 101に入力された前記32ビットの信号Lは、制御器100から印加された制御信号によってレジスタA1 102に出力される。また、前記MUX2 103に入力された前記32ビットの信号Rは、制御器100から印加された制御信号によってレジスタA2 104に出力される。レジスタA1 102で前記MUX1 101から伝送された前記32ビットの信号Lは、臨時に貯蔵される。レジスタA2 104で前記MUX2 103から伝送された前記32ビットの信号Rは、臨時に貯蔵される。このとき、制御器100がレジスタA1 102とレジスタA2 104に制御信号を印加すると、前記レジスタA1 102とレジスタA2 104に臨時に貯蔵されているそれぞれの32ビットの信号L及び信号Rは次のステップに進行する。
このとき、前記KASUMI暗号化ブロックは、奇数ラウンドである場合と偶数ラウンドである場合に、暗号化ブロックに従う暗号化演算順序が異なる。まず、奇数ラウンドの演算を説明すれば、下記のようである。前記レジスタA1 102から信号Lを受信したFL1暗号化部106は、キースケジューラー105から提供される第1暗号化キーKLi、l及びKLi、2によって信号Lの暗号化演算を遂行して暗号化信号L01をMUX3 107に出力する。MUX3 107は、前記32ビットの暗号化信号L01を入力する。前記MUX3 107は、前記制御器100から印加される制御信号によって前記暗号化信号L01をFO暗号化部108に出力する。前記32ビットの暗号化信号L01を受信した前記FO暗号化部108は、キースケジューラー105から提供される第2暗号化キーKIi、j及び第3暗号化キーKOi、jによって前記32ビットの信号L01の暗号化演算を遂行して暗号化信号L02をDEMUX109に出力する。DEMUX109は、前記32ビットの暗号化信号L02を受信して前記制御器100から印加される制御信号に従って暗号化信号L02を出力する。前記信号L02は、前記レジスタA2 104から出力された信号Rと排他的論理和の演算を遂行した後に、最終的に、暗号化信号Rを出力する。前記信号Rは、MUX2 103にフィードバックされて入力される。
一方、偶数ラウンドの演算を説明すれば、下記のようである。前記レジスタA2 104から出力された信号Rは、MUX3 107に入力される。前記MUX3 107は、前記制御器から印加される制御信号に従って前記信号RをまずFO暗号化部108に出力する。前記32ビットの信号Rを受信したFO暗号化部108は、キースケジューラー105から提供される第2暗号化キーKIi、j及び第3暗号化キーKOi、jによって32ビットの信号Rの暗号化演算を遂行して暗号化信号R01をDEMUX109に出力する。DEMUX109は、前記32ビットの暗号化信号R01を入力する。前記逆多重化器109は、前記制御器100から印加される制御信号に従って前記暗号化信号R01をFL2暗号化部110に出力する。前記32ビットの暗号化信号R01を受信したFL2暗号化部110は、前記キースケジューラー105から受信された第1暗号化キーKLi、jによって暗号化演算を遂行して暗号化信号R02を出力する。前記暗号化信号R02は、前記レジスタA1 102から出力された信号Lと排他的論理和の演算を遂行した後に、最終的に、暗号化信号Lを出力する。前記信号Lは、MUX1 101にフィードバックされて入力される。ここで、第1暗号化キーKLi、j、第2暗号化キーKIi、j、及び第3暗号化キーKOi、jは、暗号化演算に従うラウンドが増加するほど前記i及びjも増加するようになる。
前述したように、従来のKASUMI暗号化ブロックは、2個のFL暗号化部106及び110を備えて同一の暗号化演算を遂行する。従って、前記KASUMI暗号化ブロックをハードウェアで具現するにおいて、複数の同一の素子を使用することによって素子使用の効率性が減少し、また、付加的な素子使用による消費電力が増加する問題点がある。
図2は、従来技術によるKASUMI暗号化ブロック及びメモリ構造に従って暗号化関数を示す。
図2を参照すると、複数のKASUMI暗号化ブロックで暗号化演算を遂行する暗号化関数f8を示すもので、前記暗号化関数f8は、受信側から伝送しようとする平文信号を受信して入力メモリ270に貯蔵し、KASUMI暗号化ブロックを通じて暗号化演算を遂行した後に、出力された暗号化信号をさらに出力メモリ280に貯蔵する。ここで、前記複数のKASUMI暗号化ブロックを示すことは、前記KASUMI暗号化ブロックを通じて暗号化演算が反復して行われることを示すためである。また、前記暗号化関数f8で、レジスタC 220は、入力されたデータを臨時に貯蔵する64ビットのレジスタとして制御器200の制御信号に従って動作する。また、BLKCNT(以下、“ブロックカウンタ”と称する。)は、64ビットの入力されたデータを処理するブロックカウンタを示し、CK(Confidentiality Key;以下、“暗号化キー値”と称する。)は128ビットの暗号化キー値を示し、KM(Key Modifier;以下、“キー変更子”であると称する。)は128ビットの常数であるキー変更子を示す。このとき、前記KASUMI暗号化ブロックは、最大5114ビットのデータを処理する暗号化ブロックシステムである。従って、最大80回のKASUMI暗号化演算を遂行する。ここで、制御器200は、前記入力メモリ260及び出力メモリ280のそれぞれに制御信号を印加して前記入力メモリ260及び前記出力メモリ280の動作を制御する。前記制御信号は、前記入力メモリ260及び出力メモリ280にアドレスを割り当てるアドレス信号と、前記入力メモリ260及び出力メモリ280の動作を制御するイネーブル/ディスエーブル信号と、前記メモリ260及び280のそれぞれに貯蔵されているデータを読み出すか、暗号化されたデータを貯蔵する読出し/書込み(WRITE/READ)信号と、割り当てられたアドレスに単位大きさのデータを貯蔵するデータ信号と、を含む。従って、前記メモリ260、280のそれぞれは、割り当てられたアドレスに単位データを貯蔵するかまたは出力する。
KASUMI暗号化ブロック230は、64ビットの初期入力値を受信して128ビットの暗号化キー値と128ビットのキー変更子の値である常数を排他的論理和の演算を遂行した式(1)の値によって暗号化演算が遂行されて出力される。このとき、前記暗号化演算を遂行した値は初期暗号化信号K00であり、前記信号K00は、レジスタC 220に臨時に貯蔵される。前記レジスタC 220は、暗号化ブロック制御器(図示せず)から印加される制御信号に従って前記信号K00を次のステップに出力する。前記信号K00は、ブロックカウンタを通じて出力されたブロックカウント値0(BLKCNT0)と排他的論理和の演算が遂行されて次回のKASUMI暗号化ブロック230に入力される。KASUMI暗号化ブロック230で前記初期値信号K00は、キースケジューラーから提供される暗号化キー値(CK)によって暗号化演算を遂行して64ビットの暗号化信号K01を出力する。このとき、制御器200は、前記入力メモリ270に制御信号を印加して第1アドレスに貯蔵されている平文信号Dを読み出す。前記信号Dは、前記信号K01と排他的論理和の演算を遂行して暗号化信号Kを出力する。前記出力メモリ280は、前記制御器200から印加される制御信号に従って、第1アドレスに前記最終的な暗号化信号Kを貯蔵する。前記暗号化関数f8は、平文信号のデータの長さに従って前記暗号化過程を反復して遂行する。
Figure 2004240427
前述したように、前記暗号化関数f8で、制御器200は、入力メモリ270に制御信号を印加してそれぞれのアドレスに割り当てられている平文信号を読み出し、前記平文信号にKASUMI暗号化ブロックを通じて出力された信号と暗号化演算を遂行する。このとき、前記出力メモリ280に制御信号を印加して、最終的に出力される暗号化信号をさらに貯蔵する。従って、入力メモリ及び出力メモリを別途に使用することは、ハードウェアの構成のときにメモリを非効率的に使用するようになり、非効率的なメモリの使用に従う消費電力も増加する短所がある。
上記背景に鑑みて、本発明の目的は、 長さが2nである入力ビット列を長さがnである第1及び第2サブビット列に分割して暗号化手順によって暗号化演算を遂行して、最終的に長さが2nである暗号化ビット列を出力する暗号化装置を提供することにある。
本発明の他の目的は、長さが2nである第1入力ビット列を長さがnである第1及び第2サブビット列に分割して暗号化手順によって暗号化演算を遂行して、最終的に、長さが2nである暗号化ビット列に出力する暗号化方法を提供することにある。
本発明のまた他の目的は、長さが2nである第1入力ビット列を入力して第1暗号化演算を遂行して長さが2nである第1暗号化ビット列を出力し、長さがmである第2入力ビット列と第2暗号化演算を遂行して、最終的に長さがmである第2暗号化ビット列を出力する装置を提供することにある。
本発明のさらに他の目的は、長さが2nである第1入力ビット列を入力して第1暗号化演算を遂行して長さが2nである第1暗号化ビット列を出力し、長さがmである第2入力ビット列と第2暗号化演算を遂行して、最終的に長さがmである第2暗号化ビット列を出力する方法を提供することにある。
このような目的を達成するために、本発明の第1実施例によれば、長さが2nである入力ビット列を長さがnである第1及び第2サブビット列に分割して暗号化手順によって暗号化演算を遂行して、最終的に長さが2nである暗号化ビット列を出力する暗号化装置において、制御信号に従って前記第1サブビット列を入力して第1暗号化コードKL1,1、KL1,2により暗号化することによって長さがnである第1暗号化ビット列を出力するか、第2暗号化ビット列を入力して前記第1暗号化コードKL1,1、KL1,2により暗号化することによって長さがnである第3暗号化ビット列を出力する第1暗号化部と、前記制御信号に従って前記第1暗号化ビット列を入力して第2暗号化コードKO1,1、KO1,2、KO1,3及び第3暗号化コードKL1,1、KL1,2、KL1,3により暗号化することによって長さがnである前記第4暗号化ビット列を出力するか、前記第1サブビット列を入力して前記第2暗号化コードKO1,1、KO1,2、KO1,3及び前記第3暗号化コードKI1,1、KI1,2、KI1,3により暗号化することによって長さがnである前記第2暗号化ビット列を出力する第2暗号化部と、前記第1サブビット列、前記第1暗号化ビット列、及び前記第2暗号化ビット列に同一のサイズの長さがnである所定の第1暗号化コードKL1,1、KL1,2と第2暗号化コードKO1,1、KO1,2、KO1,3と第3暗号化コードKI1,1、KI1,2、KI1,3とを提供するキースケジューラーと、前記制御信号に従って複数の多重化器が前記第1サブビット列を出力して前記第1暗号化部に入力されるか、前記第2暗号化部に入力されて前記キースケジューラーから提供される前記第1暗号化コードKL1,1、KL1,2、第2暗号化コードKO1,1、KO1,2、KO1,3、及び第3暗号化コードKI1,1、KI1,2、KI1,3によって暗号化演算を遂行するように制御する制御器と、から構成されることを特徴とする。
また、本発明の第2実施例によれば、長さが2nである第1入力ビット列を長さがnである第1及び第2サブビット列に分割して暗号化手順によって暗号化演算を遂行して、最終的に長さが2nである暗号化ビット列を出力する暗号化方法において、制御器から印加される制御信号に従って第1暗号化部が前記長さがnである第1サブビット列を入力してキースケジューラーから提供される第1暗号化コードKL1,1、KL1,2により暗号化することによって長さがnである第1暗号化ビット列を出力するか、第2暗号化部から出力される長さがnである第2暗号化ビット列を入力して前記第1暗号化コードKL1,1、KL1,2により暗号化することによって長さがnである第3暗号化ビット列を出力するステップと、前記制御器から印加される制御信号によって第2暗号化部が前記長さnである前記第1暗号化ビット列を入力して前記キースケジューラーから提供される第2暗号化コードKO1,1、KO1,2、KO1,3及び第3暗号化コードKI1,1、KI1,2、KI1,3により暗号化することによって長さがnである前記第4暗号化ビット列を出力するか、前記長さがnである前記第1サブビット列を入力して前記第2暗号化コードKO1,1、KO1,2、KO1,3及び第3暗号化コードKI1,1、KI1,2、KI1,3により暗号化することによって長さがnである前記第2暗号化ビット列を出力するステップと、から構成されることを特徴とする。
さらに、本発明の第3実施例によれば、長さが2nである第1入力ビット列を入力して第1暗号化演算を遂行して長さが2nである第1暗号化ビット列を出力して長さがmである第2入力ビット列と第2暗号化演算を遂行して、最終的に長さがmである第2暗号化ビット列を出力する暗号化装置において、前記第1入力ビット列を入力してキースケジューラーから提供される長さが4nである暗号化コードによって暗号化することにより、長さが2nである第1暗号化ビット列を出力する暗号化部と、制御信号に従ってメモリから前記長さがmである第2入力ビット列を出力して前記第1暗号化ビット列と暗号化演算を遂行して長さがmである第2暗号化ビット列を出力し、前記制御信号に従って前記メモリに前記第2暗号化ビット列をさらに貯蔵するように制御する制御器と、から構成されることを特徴とする。
なお、本発明の第4実施例によれば、長さが2nである第1入力ビット列を入力して第1暗号化演算を遂行して長さが2nである第1暗号化ビット列を出力して長さがmである第2入力ビット列と第2暗号化演算を遂行して、最終的に長さがmである第2暗号化ビット列を出力する暗号化方法において、暗号化部が前記第1入力ビット列を入力してキースケジューラーから提供される長さが4nである暗号化コードによって第1暗号化することにより、長さが2nである第1暗号化ビット列を出力するステップと、制御器がメモリに制御信号を印加して前記長さがmである第2入力ビット列を出力し、前記第1暗号化ビット列と暗号化演算を遂行した後に、長さがmである第2暗号化ビット列を出力して前記メモリに制御信号を印加して前記第2暗号化ビット列をさらに貯蔵するステップと、から構成されることを特徴とする。
本発明は、暗号化アルゴリズムのハードウェアの具現のときに同一の暗号化演算を遂行する素子の使用を簡略化し、入力メモリ及び出力メモリを共有することによってメモリの使用を最大化する。従って、暗号化システムの全体的な消費電力を減少させる長所がある。
以下、本発明の好適な実施形態について添付図を参照しつつ詳細に説明する。下記説明において、本発明の要旨のみを明瞭するために公知の機能又は構成に対する詳細な説明は省略する。なお、図面中、同一な構成要素及び部分には、可能な限り同一な符号及び番号を共通使用するものとする。
図3は、本発明の実施例が適用されるKASUMI暗号化アルゴリズムを示す。
図3を参照すると、KASUMI暗号化ブロックは、64ビットの平文信号(plaintext)を入力して8回の暗号化ステップを経て64ビットの暗号化信号(ciphertext)を出力する8−ラウンドFeistel構造を有する暗号化ブロックシステムである。ここで、Feistel構造とは、入力された2nビットの入力信号をそれぞれnビットの信号L及びRに分割してそれぞれの暗号化ブロックを通じてm回のラウンド演算を通じて暗号化及び復号化を遂行するシステムであって、二回のラウンド演算を通じて完全拡散が行われる。従って、暗号化アルゴリズムの遂行速度が速い長所を有する。さらに詳細に説明すると、前記KASUMI暗号化ブロックで前記64ビットの入力信号は、それぞれ32ビットの信号Lと32ビットの信号Rとに分割されて暗号化演算が遂行される。前記32ビットの信号Lと前記32ビットの信号Rは、複数のFLi暗号化部(1≦i≦8)310、320、330、340、350、360、370、380及び複数のF0i暗号化部(1≦i≦8)410、420、430、440、450、460、470、480でキースケジューラー(図示せず)を通じて提供される暗号化キーKI(1≦i≦8)、KL(1≦i≦8)、及びKO(1≦i≦8)によって暗号化演算が遂行されて64ビットの暗号化信号になる。
まず、一番目奇数ラウンド暗号化演算を例に挙げて説明する。入力された32ビットの信号Lは、FL1暗号化部310でキースケジューラーを通じて提供される第1暗号化キーKLによって暗号化演算が遂行されて暗号化信号L01になる。前記暗号化信号L01は、F01暗号化部410でキースケジューラーを通じて提供される第2暗号化キーKOと第3暗号化キーKIによって暗号化演算が遂行されて32ビットの信号L02になる。前記信号L02は、前記32ビットの信号Rと排他的論理和の演算が遂行されて暗号化信号Rになる。
一方、一番目偶数ラウンド暗号化演算(=二番目のラウンド暗号化演算)で、前記入力された32ビットの暗号化された信号R(=L)は、FO2暗号化部420でキースケジューラーを通じて提供される第2暗号化キーKOと第3暗号化キーKIによって暗号化演算が遂行されて32ビットの信号L11になる。前記信号L11は、FL2暗号化部320でキースケジューラーを通じて提供される第1暗号化キー値KLによって暗号化演算が遂行されて暗号化信号L12を出力する。前記暗号化信号L12は、初期入力信号Lとの排他的論理和の演算が遂行されて暗号化信号Rになる。残りのラウンド暗号化演算も、図3に示すように、適切な暗号化部及び暗号化キーを使用して同一の方式にて遂行される。従って、前記KASUMI暗号化ブロックは、64ビットの信号を入力して全体的に8ラウンド暗号化演算を反復的に遂行して、最終的に64ビットの暗号化信号を出力する。
図4は、図3に示したFL暗号化部の詳細な構成を示す。
図4を参照して、FL1暗号化部310を例にあげて説明する。FL1暗号化部310は、複数のANDゲート301と、シフトレジスタ302及び304と、ORゲート303とから構成される。32ビットの入力信号は、それぞれ16ビットの信号Lと16ビットの信号Rに分割されて伝送される。ANDゲート301は、前記16ビットの信号Lを16ビットのサブ暗号化キーKL1、1をもって論理積演算を遂行して16ビットの信号ALを出力する。シフトレジスタ302は、信号ALを1ビットずつ左側に遷移して信号SALを出力する。このとき、前記16ビットの信号SALは、16ビットの信号Rと排他的論理和の演算が遂行されてサブ暗号化信号Rになる。ORゲート303は、前記信号Rを16ビットのサブ暗号化キーKL1、2をもって論理和演算を遂行して16ビットの信号ORを出力する。シフトレジスタ304は、信号ORを1ビットずつ左側に遷移して信号SORを出力する。前記信号SORは、前記16ビットの入力信号Lと排他的論理和の演算が遂行されてサブ暗号化信号Lになる。従って、前記FL1暗号化部310は、前記サブ暗号化信号Rと前記サブ暗号化信号Lを演算して32ビットの暗号化信号L‖R(=L01(図3))を出力する。
図5は、図3に示したFO暗号化部の詳細な構成を示す。
図5を参照して、FO1暗号化部410を例にあげて説明する。FO1暗号化部410は、複数のFIi、jサブ暗号化部(1≦i≦3、1≦j≦3)で構成されて暗号化過程が3つのステップでなされる。図3での32ビットの入力信号L01は、それぞれ16ビットの信号Lと16ビットの信号Rに分割されて伝送される。
第1ステップを説明すると、16ビットの信号Lは、16ビットのサブ暗号化キーKO1、1と排他的論理和の演算が遂行されて信号Lになる。FI1、1サブ暗号化部401は、前記信号Lを16ビットのサブ暗号化キーKI1、1と暗号化して遅延信号L1Dを出力する。一方、16ビットの信号R(=R)は、遅延器(D1)411を通過しつつ遅延信号R1Dになる。すなわち、前記遅延器(D1)411は、前記信号R1Dを任意に遅延させることによって前記信号L1Dとの出力同期を合わせる機能を行う。第2ステップを説明すると、16ビットの信号R1Dは、16ビットのサブ暗号化キーKO1、2と排他的論理和の演算が遂行されて信号Lになる。前記信号Lは、FI1、2サブ暗号化部403によって16ビットのサブ暗号化キーKI1、2と暗号化されて遅延信号L2Dになる。一方、16ビットの信号R1Dは、前記信号L1Dと排他的論理和の演算が遂行されて信号Rになる。前記信号Rは、遅延器(D2)412を通過しつつ遅延信号R2Dになる。すなわち、前記遅延器(D2)412は、前記信号Rを任意に遅延させることによって前記信号L2Dとの出力同期を合わせる機能を行う。ステップ3を説明すると、16ビットの信号R2Dは、16ビットのサブ暗号化キーKO1、3と排他的論理和の演算が遂行されて信号Lになる。前記信号Lは、FI1、3サブ暗号化部405によって16ビットのサブ暗号化キーKI1、3と暗号化されて遅延信号L3Dになる。一方、16ビットの信号R2Dは、前記信号L2Dと排他的論理和の演算が遂行されて信号Rになる。前記信号Rは、遅延器(D3)413を通過しつつ遅延信号R3Dになる。すなわち、前記遅延器(D3)413は、前記信号Rを任意に遅延させることによって前記信号L2Dとの出力同期を合わせる機能を行う。前記信号R3Dは、前記信号L3Dと排他的論理和の演算が遂行されて信号Rになる。従って、16ビットの信号Rと16ビットのR3D(=L)が演算されて32ビットの暗号化信号(L‖R(=L02(図3))が出力される。
図6は、図5に示したFIサブ暗号化部の詳細な構成例を示す。
図6を参照して、FL1、1サブ暗号化部を例にあげて説明する。16ビットの入力信号(図5で信号L)は、9ビットの信号RLと7ビットの信号RRに分割される。SBox91演算器(以下、‘S91’と称する。)610は、9ビットの入力信号RLを入力して下記式(2)に適用することによって9ビットの信号y0、y1、...、y8を出力する。
Figure 2004240427
ZE1部620は、7ビットの信号RRを受信して信号RRの最上位ビット(Most Significant Bit;以下、‘MSB’と称する。)に2個のZERO(0)ビットを追加して9ビットの信号を出力する。前記S91演算器610の9ビットの出力信号と前記ZE1部620の9ビットの出力信号は、排他的論理和の演算が遂行されて9ビットの信号RLになる。前記信号RLは、9ビットのサブ暗号化キーKI1、1、2と排他的論理和の演算が遂行されて9ビットの信号RLになる。
一方、TR1部630は、前記9ビットの信号RL1のMSBビットのうち、ZERO(0)ビットに位置した2個の信号を除去して7ビットの信号を出力する。SBox71演算器(以下、‘S71’と称する。)640は、7ビットの入力信号RR(=RR)を入力して下記式(2)に適用することによって7ビットの信号y0、y1、,,,、y6を出力する。
Figure 2004240427
前記TR1部630の7ビットの出力信号及び前記S71演算器640の7ビットの出力信号は、サブ暗号化キーKI1、1、1と排他的論理和の演算が遂行されて7ビットの信号RRになる。
SBox92演算器(以下、‘S92’と称する。)650は、9ビットの入力信号RLを入力して前記式(2)に適用することによって9ビットの信号y0、y1、...、y8を出力する。ZE2部660は、7ビットの信号RRを受信してMSBに2個のZERO(0)ビットを追加して9ビットの信号を出力する。前記S92演算器650の9ビットの出力信号と前記ZE2部660の9ビットの出力信号は、排他的論理和の演算が遂行されて9ビットの信号RLになる。TR2部670は、前記9ビット信号RLのMSBビットのうち、ZERO(0)ビットに位置した2個の信号を除去して7ビットの信号を出力する。SBox72演算器(以下、‘S72’と称する。)680は、7ビットの入力信号RR(=RR)を入力して前記式2に適用することによって7ビットの信号y0、y1、,,,、y6を出力する。前記TR2部670の7ビットの出力信号及び前記S72演算器380の7ビットの出力信号は、排他的論理和の演算が遂行されて7ビットの信号RRになる。
従って、16ビットの暗号化された信号RL‖RRは、前記9ビットの信号RL(=RL)と7ビットの信号RRが演算されて生成される。
図7は、本発明の実施例によるKASUMIハードウェアの構成を示す。
図7を参照すると、KASUMI暗号化ブロックは、複数の多重化器(MUX1 701、MUX2 703、MUX3 706、MUX4 708、MUX5 710)と、複数のレジスタ(レジスタB1 702、レジスタB2 704)と、複数の暗号化部(FL暗号化部707、FO暗号化部709)と、KASUMI暗号化ブロックの構成要素を制御する制御器700と、暗号化キー値を提供するキースケジューラー711とから構成される。ここで、制御器700は、前記複数のMUX701、703、706、708、及び710に制御信号を印加して奇数ラウンド暗号化演算及び偶数ラウンド暗号化演算が遂行されるときにFL暗号化部707、FO暗号化部709の演算手順を異なるように制御する。これをさらに具体的に説明すると、下記のようである。
まず、奇数ラウンド暗号化演算において、64ビットの平文信号は、32ビットの信号Lと32ビットの信号Rに分割されてMUX1 701及びMUX2 703のそれぞれに入力される。前記MUX1 701は、前記32ビットの信号Lを制御器700から印加された制御信号に従ってレジスタB1 702に出力する。また、前記MUX2 703は、前記32ビットの信号Rを制御器700から印加された制御信号に従ってレジスタB2 704に出力する。レジスタB1 702は、MUX1 701から受信された前記32ビットの信号Lを臨時に貯蔵する。レジスタB2 704は、MUX2 103から受信された前記32ビットの信号Rを臨時に貯蔵する。このとき、制御器700からレジスタB1 702及びレジスタB2 704に制御信号が印加されると、前記レジスタB1 702及びレジスタB2 704は、それぞれ臨時に貯蔵された32ビットの信号Lと信号Rを出力する。制御器700は、MUX3 706、MUX4 708、MUX5 710に制御信号を印加して、前記MUX706、MUX708、MUX710が“0の経路”で動作するように制御する。従って、奇数ラウンド暗号化演算は、実線で示されたように暗号化演算を遂行する。MUX3 706は、前記信号Lを“0の経路”を通じてFL暗号化部707に出力する。前記FL暗号化部707は、前記信号Lをキースケジューラー711から提供される奇数番目の第1暗号化キーKLi、j(前記i及びjは、0<i≦8、0<j≦2の値を有する。)によって暗号化演算を遂行した後に、暗号化された信号L01をMUX4 708に出力する。MUX4 708は、信号L01を“0の経路”を通じてFO暗号化部709に出力する。F0暗号化部709は、前記暗号化信号L01をキースケジューラー711から提供される奇数番目の第2暗号化キーKIi、jと奇数番目の第3暗号化キーKOi、j(前記i及びjは、0<i≦8、0<j≦3の値を有する。)によって暗号化演算を遂行した後に、暗号化された信号L02をMUX5 710に出力する。MUX5 710は、前記信号L02を“0の経路”を通じて出力する。前記信号L02は、前記レジスタB2 704から出力された信号Rと排他的論理和の演算が遂行されて暗号化信号Rになる。前記信号R(=信号L)は、MUX1 701にフィードバックされる。
一方、偶数ラウンド暗号化演算でフィードバックされた32ビットの信号Rは、MUX1 701に入力され、32ビットの信号Lは、MUX2 703に入力される。前記MUX1 701に入力された前記32ビットの信号Rは、制御器700から印加された制御信号に従ってレジスタB1 702に出力される。また、前記MUX2 703に入力された前記32ビットの信号Lは、制御器700から印加された制御信号に従ってレジスタB2 704に出力される。レジスタB1 702は、MUX1 701から受信された前記32ビットの信号Rを臨時に貯蔵する。レジスタB2 704は、MUX2 103から受信された前記32ビットの信号Lを臨時に貯蔵する。このとき、制御器700からレジスタB1 702とレジスタB2 704に制御信号が印加されると、前記レジスタB1 702及びレジスタB2 704は、それぞれ臨時に貯蔵された32ビットの信号R及び信号Lを出力する。制御器700は、複数のMUX706、MUX708、MUX710に制御信号を印加して入力された信号を“1の経路”にパスするように制御する。すなわち、偶数ラウンド暗号化演算は、点線で示されたように、暗号化演算を遂行する。MUX4 708は、前記信号Rを制御器700から印加される制御信号に従って受信し、信号Rを1の経路を通じてFO暗号化部709に出力する。F0暗号化部709は、前記入力された32ビットの暗号化信号Rをキースケジューラー711から提供される偶数番目の第2暗号化キーKIi、j及び偶数番目の第3暗号化キーKOi、j(前記i及びjは、0<i≦8、0<j≦3を有する。)によって暗号化演算を遂行した後に、暗号化された信号R11を出力する。前記信号R11は、MUX3 706に入力される。前記MUX3 706は、前記信号R11を“1の経路”を通じてFL暗号化部707に出力する。前記FL暗号化部707は、前記信号R11をキースケジューラー711から提供される偶数番目の第1暗号化キーKLi、j(前記i及びjは、0<i≦8、0<j≦2の値を有する)によって暗号化演算を遂行した後に、暗号化された信号R12をMUX5 710に出力する。MUX5 710は、前記信号R12を1の経路を通じて出力する。前記信号R12は、前記レジスタB2 704から出力された信号Lと排他的論理和の演算が遂行されて暗号化信号R(=L)になる。前記暗号化信号R(=L)は、MUX1 701にフィードバックされる。
前述したように、奇数ラウンド暗号化演算のときに、制御器700は、MUX706、MUX708、MUX710に制御信号を印加して前記MUX706、MUX708、MUX710の動作を“0の経路”で制御する。すなわち、FL暗号化部707でまず暗号化演算を遂行した後に、FO暗号化部709で暗号化演算を遂行する。従って、偶数ラウンド暗号化演算のときに、前記制御器700は、MUX706、MUX708、MUX710に制御信号を印加して前記MUX706、MUX708、MUX710の動作をすべて“1の経路”で制御する。従って、奇数ラウンド暗号化演算である場合に、入力された32ビットの信号は、FL暗号化部707でキースケジューラー105から提供される奇数番目の第1暗号化キーKLi、j及びKLi、jによって暗号化された後に、FO暗号化部709で奇数番目の第2暗号化キーKIi、j及び奇数番目の第3暗号化キーKOi、jによって暗号化演算が遂行される。一方、偶数ラウンド暗号化演算である場合に、入力された32ビットの信号は、FO暗号化部709で偶数番目の第2暗号化キーKIi、j及び偶数番目の第3暗号化キーKOi、jによって暗号化演算が遂行された後に、FL暗号化部707で偶数番目の第1暗号化キーKLi、jによって暗号化演算が遂行される。
従って、前記KASUMI暗号化ブロックは、1つのFL暗号化部707及びFO暗号化部709を備えて、従来と同一の暗号化演算を遂行する効果がある。また、ハードウェアの具現のときに、素子の使用を最小化して暗号化演算に従う消費電力を減少させる効果がある。
図8は、本発明の実施例によるKASUMI動作で従来の暗号化アルゴリズムを示す。
図8を参照すると、複数のKASUMIアルゴリズムブロックで構成された暗号化アルゴリズムf8を具現するもので、受信側から伝送しようとする平文信号が入力されたメモリ870から前記平文信号をロードして暗号化演算を反復的に遂行した後に、最終的に、暗号化された信号を同一のメモリ870に貯蔵するステップを示す。
前記暗号化アルゴリズムf8は、最大5114ビットのデータの暗号化演算を遂行するブロック暗号化システムである。従って、前記暗号化アルゴリズムf8は、最大80回のKASUMI暗号化演算を遂行できる。このとき、暗号化しようとするデータの長さ(平文信号)に従ってKASUMI暗号化ブロックの演算の数は可変され、前記暗号化アルゴリズムf8は、ブロックカウンタを備えてKASUMI暗号化演算の回数をカウントする。図8では、複数のKASUMI暗号化ブロックを示したが、これは、1つのKASUMI暗号化ブロックが入力された信号の暗号化演算を遂行して暗号化信号を出力し、前記出力された暗号化信号をフィードバックしてさらに暗号化演算を遂行することを示すためである。また、前記暗号化アルゴリズムf8において、CK及びKMは、キースケジューラー(図示せず)から提供されるもので、それぞれ128ビットを有する。また、前記制御器800は、メモリ870に制御信号を印加して前記メモリ870の動作を制御する。前記制御信号は、前記メモリ870に入力された平文信号のアドレスを割り当てるアドレス信号と、前記メモリ870の動作を制御するイネーブル/ディスエーブル制御信号と、前記メモリ870に貯蔵されている平文信号を読み出す(READ)ための動作と前記平文信号の暗号化演算を遂行した後に、前記メモリ870に書き込む(WRITE)ための動作を制御する読出し/書込み信号と、割り当てられたアドレスに単位大きさの平文信号及び暗号化信号を示すデータ信号とを含む。
KASUMI暗号化ブロック810で、64ビットの暗号化初期値は、キースケジューラー(図示せず)から提供される128ビットの暗号化キー値と128ビットの常数との排他的論理和を行った値(式(4))によって暗号化演算を遂行して初期KASUMI暗号化信号K00を出力する。前記出力された信号K00は、レジスタD 820に臨時に貯蔵される。前記レジスタ820は、暗号化ブロック制御器(図示せず)から印加される制御信号に従って信号K00を出力する。ここまでは、KASUMI暗号化演算を遂行するための初期の演算ステップを説明したものである。
Figure 2004240427
第1暗号化演算過程において、前記初期信号K00は、制御器800の制御信号によってブロックカウントされたブロックカウンタ値0(BLKCNT0)と排他的論理和の演算が遂行された後にKASUMI暗号化ブロック830に入力される。KASUMI暗号化ブロック830で、前記初期暗号化信号K00は、キースケジューラーから受信した暗号化キー値CKによって暗号化演算が遂行されてビット0からビット63までの大きさを有するキーストリームを有する64ビットの暗号化信号K01になる。制御器800は、メモリ870に制御信号を印加して第1アドレスに割り当てられている平文信号Dを読み出す。前記信号Dは、前記信号K01と排他的論理和の演算が遂行されて暗号化信号Kになる。前記制御器800は、メモリ270に制御信号を印加して第1暗号化信号Kを第1アドレスに割り当てる。すなわち、平文信号Dの割り当てられたアドレスに前記暗号化された信号K1を貯蔵する。
第2暗号化演算過程において、前記初期暗号化信号K00は、制御器800の制御信号によってブロックカウントされたブロックカウンタ1(BLKCNT1)と排他的論理和の演算が遂行されて信号K10になる。前記信号K10は、前記KASUMI暗号化ブロック830から出力された信号K01と排他的論理和の演算が遂行されて信号K11になる。KASUMI暗号化ブロック840で、前記初期KASUMI暗号化信号K11は、キースケジューラーから提供される暗号化キー値(CK)によって暗号化演算が遂行されてビット64からビット127までの大きさを有するキーストリームを有する64ビットの暗号化信号K02になる。制御器800は、メモリ870で第2アドレスに割り当てられている平文信号Dを読み出す。前記信号Dは、前記信号K02と排他的論理和の演算が遂行されて暗号化信号Kになる。前記メモリ870は、第2暗号化信号Kを第2アドレスに貯蔵する。すなわち、平文信号Dに割り当てられているアドレスに暗号化信号Kを貯蔵する。
f8関数において、入力される平文信号の大きさに従ってブロックカウンタの数が定められ、前記のようなKASUMI暗号化演算が遂行される。このとき、制御器800は、メモリ870に制御信号を印加して任意のアドレスに割り当てられている平文信号をロードしてKASUMI暗号化演算を遂行した後に、暗号化された信号を前記アドレスと同一の位置にさらに貯蔵する。すなわち、入力メモリ及び出力メモリを共有してハードウェア構成を簡略にする。
以上、本発明の詳細について具体的な実施形態に基づき説明してきたが、本発明の範囲を逸脱しない限り、各種の変形が可能なのは明らかである。従って、本発明の範囲は、上記実施形態に限るものでなく、特許請求の範囲のみならず、その範囲と均等なものにより定められるべきである。
従来技術によるKASUMI暗号化ブロックのハードウェア構成を示す図。 従来技術によるKASUMI暗号化ブロック及びメモリ構造に従って暗号化アルゴリズムを示す図。 本発明の実施例が適用されるKASUMI暗号化アルゴリズムを示す図。 図3に示したFL暗号化部の詳細な構造を示す図。 図3に示したFO暗号化部の詳細な構造を示す図。 図5に示したFI暗号化部の詳細な構造を示す図。 本発明の実施例によるKASUMIハードウェアの構成を示す図。 本発明の実施例によるKASUMI動作で従来の暗号化アルゴリズムを示す図。
符号の説明
301 ANDゲート
302、304 シフトレジスタ
303 ORゲート
310〜380 FLi暗号化部(1≦i≦8)
410〜480 F0i暗号化部(1≦i≦8)

Claims (22)

  1. 長さが2nである入力ビット列を長さがnである第1及び第2サブビット列に分割して暗号化手順によって暗号化演算を遂行して、最終的に長さが2nである暗号化ビット列を出力する暗号化装置において、
    制御信号に従って前記第1サブビット列を入力して第1暗号化コードKL1,1、KL1,2により暗号化することによって長さがnである第1暗号化ビット列を出力するか、第2暗号化ビット列を入力して前記第1暗号化コードKL1,1、KL1,2により暗号化することによって長さがnである第3暗号化ビット列を出力する第1暗号化部と、
    前記制御信号に従って前記第1暗号化ビット列を入力して第2暗号化コードKO1,1、KO1,2、KO1,3及び第3暗号化コードKL1,1、KL1,2、KL1,3により暗号化することによって長さがnである前記第4暗号化ビット列を出力するか、前記第1サブビット列を入力して前記第2暗号化コードKO1,1、KO1,2、KO1,3及び前記第3暗号化コードKI1,1、KI1,2、KI1,3により暗号化することによって長さがnである前記第2暗号化ビット列を出力する第2暗号化部と、
    前記第1サブビット列、前記第1暗号化ビット列、及び前記第2暗号化ビット列に同一のサイズの長さがnである所定の第1暗号化コードKL1,1、KL1,2と第2暗号化コードKO1,1、KO1,2、KO1,3と第3暗号化コードKI1,1、KI1,2、KI1,3とを提供するキースケジューラーと、
    前記制御信号に従って複数の多重化器が前記第1サブビット列を出力して前記第1暗号化部に入力されるか、前記第2暗号化部に入力されて前記キースケジューラーから提供される前記第1暗号化コードKL1,1、KL1,2、第2暗号化コードKO1,1、KO1,2、KO1,3、及び第3暗号化コードKI1,1、KI1,2、KI1,3によって暗号化演算を遂行するように制御する制御器と、から構成されることを特徴とする暗号化装置。
  2. 前記制御器は、前記制御信号に従って前記第1サブビット列を出力して第1暗号化部で第1暗号化コードKL1,1、KL1,2により暗号化することによって長さがnである第1暗号化ビット列を出力し、前記第1暗号化ビット列を入力して第2暗号化部で第2暗号化コードKO1,1、KO1,2、KO1,3及び第3暗号化コードKI1,1、KI1,2、KI1,3により暗号化することによって長さがnである第4暗号化ビット列を出力し、前記第2サブビット列を出力するように制御した後に、前記第4暗号化ビット列と前記第2サブビット列との排他的論理和の演算を遂行して第5暗号化ビット列を出力するように制御する請求項1記載の暗号化装置。
  3. 前記制御器は、前記制御信号に従って前記第1サブビット列を出力して第2暗号化部で第2暗号化コードKO1,1、KO1,2、KO1,3及び第3暗号化コードKI1,1、KI1,2、KI1,3により暗号化することによって長さがnである第2暗号化ビット列を出力し、前記第2暗号化ビット列を入力して第1暗号化部を通じて第1暗号化コードKL1,1、KL1,2により暗号化することによって長さがnである第3暗号化ビット列を出力し、前記第2サブビット列を出力するように制御した後に、前記第3暗号化ビット列と前記第2サブビット列との排他的論理和の演算を遂行して第6暗号化ビット列を出力するように制御する請求項1記載の暗号化装置。
  4. 前記第1サブビット列と前記第2サブビット列を臨時に貯蔵し、前記制御器から印加される制御信号に従って前記第1サブビット列と前記第2サブビット列を出力する少なくとも2個以上のレジスタをさらに備える請求項1記載の暗号化装置。
  5. 前記制御器は、複数の多重化器に第1制御信号を印加して前記第1暗号化部が前記第1サブビット列を入力して第1暗号化コードKL1,1、KL1,2により暗号化することによって前記第1暗号化ビット列を出力した後に、第2暗号化部が前記第1暗号化ビット列を第2暗号化コードKO1,1、KO1,2、KO1,3及び第3暗号化コードKI1,1、KI1,2、KI1,3により暗号化することによって長さがnである第4暗号化ビット列を出力するように制御する請求項2記載の暗号化装置。
  6. 前記制御器は、複数の多重化器に第2制御信号を印加して前記第2暗号化部が前記第1サブビット列を入力して第2暗号化コードKO1,1、KO1,2、KO1,3及び第3暗号化コードKI1,1、KI1,2、KI1,3により暗号化することによって前記第2暗号化ビット列を出力した後に、前記第1暗号化部で前記第2暗号化ビット列を第1暗号化コードKL1,1、KL1,2により暗号化することによって前記第3暗号化ビット列を出力するように制御する請求項3記載の暗号化装置。
  7. 長さが2nである第1入力ビット列を長さがnである第1及び第2サブビット列に分割して暗号化手順によって暗号化演算を遂行して、最終的に長さが2nである暗号化ビット列を出力する暗号化方法において、
    制御器から印加される制御信号に従って第1暗号化部が前記長さがnである第1サブビット列を入力してキースケジューラーから提供される第1暗号化コードKL1,1、KL1,2により暗号化することによって長さがnである第1暗号化ビット列を出力するか、第2暗号化部から出力される長さがnである第2暗号化ビット列を入力して前記第1暗号化コードKL1,1、KL1,2により暗号化することによって長さがnである第3暗号化ビット列を出力するステップと、
    前記制御器から印加される制御信号によって第2暗号化部が前記長さnである前記第1暗号化ビット列を入力して前記キースケジューラーから提供される第2暗号化コードKO1,1、KO1,2、KO1,3及び第3暗号化コードKI1,1、KI1,2、KI1,3により暗号化することによって長さがnである前記第4暗号化ビット列を出力するか、前記長さがnである前記第1サブビット列を入力して前記第2暗号化コードKO1,1、KO1,2、KO1,3及び第3暗号化コードKI1,1、KI1,2、KI1,3により暗号化することによって長さがnである前記第2暗号化ビット列を出力するステップと、から構成されることを特徴とする暗号化方法。
  8. 制御信号に従って前記第1暗号化部が前記第1サブビット列を入力してキースケジューラーから提供される第1暗号化コードKL1,1、KL1,2により暗号化することによって長さがnである第1暗号化ビット列を出力するステップと、
    前記第2暗号化部が前記第1暗号化ビット列を入力してキースケジューラーから提供される第2暗号化コードKO1,1、KO1,2、KO1,3及び第3暗号化コードKI1,1、KI1,2、KI1,3により暗号化することによって長さがnである第4暗号化ビット列を出力するステップと、
    前記第4暗号化ビット列と前記第2サブビット列との排他的論理和の演算を遂行して長さがnである第5暗号化ビット列を出力するステップと、から構成される請求項7記載の暗号化方法。
  9. 制御信号に従って前記第2暗号化部が前記第1サブビット列を入力してキースケジューラーから提供される第2暗号化コードKO1,1、KO1,2、KO1,3及び第3暗号化コードKI1,1、KI1,2、KI1,3により暗号化することによって前記第2暗号化ビット列を出力するステップと、
    前記第1暗号化部が前記第2暗号化ビット列を入力してキースケジューラーから提供される第1暗号化コードKL1,1、KL1,2により暗号化することによって長さがnである第3暗号化ビット列を出力するステップと、
    前記第3暗号化ビット列と前記第2サブビット列を排他的論理和の演算を遂行して長さがnである第6暗号化ビット列を出力するステップと、から構成される請求項7記載の暗号化方法。
  10. 少なくとも2個以上のレジスタが前記制御器から印加される制御信号に従って、前記第1サブビット列と前記第2サブビット列を臨時に貯蔵して出力するステップをさらに備える請求項7記載の暗号化方法。
  11. 前記制御器が複数の多重化器に第1制御信号を印加して前記第1暗号化部が長さがnである第1サブビット列を入力して前記第1暗号化コードKL1,1、KL1,2により暗号化することによって長さがnである第1暗号化ビット列を出力し、前記第2暗号化部が前記第1暗号化ビット列を入力して第2暗号化コードKO1,1、KO1,2、KO1,3及び第3暗号化コードKI1,1、KI1,2、KI1,3により暗号化することによって長さがnである第4暗号化ビット列を出力するように制御するステップである請求項8記載の暗号化方法。
  12. 前記制御器が複数の多重化器に第2制御信号を印加して第2暗号化部が前記第1サブビット列を入力して第2暗号化コードKO1,1、KO1,2、KO1,3及び第3暗号化コードKI1,1、KI1,2、KI1,3により暗号化することによって長さがnである前記第2暗号化ビット列を出力し、第1暗号化部が前記第2暗号化ビット列を入力して第1暗号化コードKL1,1、KL1,2により暗号化することによって長さがnである第3暗号化ビット列を出力するように制御するステップである請求項9記載の暗号化方法。
  13. 長さが2nである第1入力ビット列を入力して第1暗号化演算を遂行して長さが2nである第1暗号化ビット列を出力して長さがmである第2入力ビット列と第2暗号化演算を遂行して、最終的に長さがmである第2暗号化ビット列を出力する暗号化装置において、
    前記第1入力ビット列を入力してキースケジューラーから提供される長さが4nである暗号化コードによって暗号化することにより、長さが2nである第1暗号化ビット列を出力する暗号化部と、
    制御信号に従ってメモリから前記長さがmである第2入力ビット列を出力して前記第1暗号化ビット列と暗号化演算を遂行して長さがmである第2暗号化ビット列を出力し、前記制御信号に従って前記メモリに前記第2暗号化ビット列をさらに貯蔵するように制御する制御器と、から構成されることを特徴とする暗号化装置。
  14. 前記制御器は、メモリに制御信号を印加して前記長さがmである第2入力ビット列のうち、任意のアドレスに割り当てられている単位大きさの第1サブビット列を出力して前記第1暗号化ビット列と暗号化演算を遂行した後に、単位大きさを有する第2サブ暗号化ビット列を出力し、前記メモリに制御信号を印加して前記アドレスに前記第2サブ暗号化ビット列をさらに貯蔵するように制御する請求項13記載の暗号化装置。
  15. 前記第1入力ビット列を入力してキースケジューラーから提供される長さが4nである暗号化コードによって暗号化することにより、長さが2nである第1暗号化ビット列を出力する暗号化部は、前記メモリに貯蔵されている前記第2入力ビット列の長さに従って前記第1暗号化演算を反復的に遂行する請求項13記載の暗号化装置。
  16. 前記制御器は、前記メモリに読出し制御信号を印加して前記長さがmである第2入力ビット列のうち、任意のアドレスに割り当てられている単位大きさの第1サブビット列を出力して前記第1暗号化ビット列と暗号化演算を遂行した後に、単位大きさを有する第2サブ暗号化ビット列を出力し、前記メモリに書込み制御信号を印加して前記アドレスに前記第2サブ暗号化ビット列をさらに貯蔵するように制御する請求項14記載の暗号化装置。
  17. 前記メモリは、前記制御器の制御信号に従って読出し動作及び書込み動作を遂行するバッファメモリである請求項16記載の暗号化装置。
  18. 長さが2nである第1入力ビット列を入力して第1暗号化演算を遂行して長さが2nである第1暗号化ビット列を出力して長さがmである第2入力ビット列と第2暗号化演算を遂行して、最終的に長さがmである第2暗号化ビット列を出力する暗号化方法において、
    暗号化部が前記第1入力ビット列を入力してキースケジューラーから提供される長さが4nである暗号化コードによって第1暗号化することにより、長さが2nである第1暗号化ビット列を出力するステップと、
    制御器がメモリに制御信号を印加して前記長さがmである第2入力ビット列を出力し、前記第1暗号化ビット列と暗号化演算を遂行した後に、長さがmである第2暗号化ビット列を出力して前記メモリに制御信号を印加して前記第2暗号化ビット列をさらに貯蔵するステップと、から構成されることを特徴とする暗号化方法。
  19. 前記制御器がメモリに制御信号を印加して前記長さがmである第2入力ビット列を出力し、前記第1暗号化ビット列と暗号化演算を遂行した後に、長さがmである第2暗号化ビット列を出力して前記メモリに制御信号を印加して前記第2暗号化ビット列をさらに貯蔵するステップは、
    前記制御器が前記メモリに制御信号を印加して前記長さがmである第2入力ビット列のうち、任意のアドレスに割り当てられている単位大きさの第1サブビット列を出力し、前記第1暗号化ビット列と第2暗号化演算を遂行した後に、単位大きさを有する第2サブ暗号化ビット列を出力し、前記制御信号に従って前記メモリの同一のアドレスに前記第2サブ暗号化ビット列をさらに貯蔵するように制御するステップである請求項18記載の暗号化方法。
  20. 前記暗号化部が前記第1入力ビット列を入力してキースケジューラーから提供される長さが4nである暗号化コードによって第1暗号化することにより、長さが2nである第1暗号化ビット列を出力するステップは、
    前記暗号化部が前記メモリに貯蔵されている前記第2入力ビットの長さに従って前記第1暗号化演算を反復的に遂行して前記第1暗号化ビット列を出力するステップである請求項18記載の暗号化方法。
  21. 前記制御器は、前記メモリに読出し制御信号を印加して前記長さがmである第2入力ビット列のうち、任意のアドレスに割り当てられている単位大きさの第1サブビット列を出力して前記第1暗号化ビット列と暗号化演算を遂行した後、単位大きさを有する第2サブ暗号化ビット列を出力し、前記メモリに書込み制御信号を印加して前記アドレスに前記第2サブ暗号化ビット列をさらに貯蔵するステップである請求項19記載の暗号化方法。
  22. 前記メモリは、制御器の制御信号に従って読出し動作及び書込み動作を遂行するバッファメモリである請求項21記載の暗号化方法。

JP2004028523A 2003-02-05 2004-02-04 移動通信システムにおける最適の暗号化関数を設計する方法及び最適の暗号化装置 Pending JP2004240427A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0007202A KR100516548B1 (ko) 2003-02-05 2003-02-05 이동 통신 시스템에서 최적화된 암호화 함수를 설계하는방법과 최적화된 암호화 장치

Publications (1)

Publication Number Publication Date
JP2004240427A true JP2004240427A (ja) 2004-08-26

Family

ID=31987550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004028523A Pending JP2004240427A (ja) 2003-02-05 2004-02-04 移動通信システムにおける最適の暗号化関数を設計する方法及び最適の暗号化装置

Country Status (5)

Country Link
US (1) US7447311B2 (ja)
JP (1) JP2004240427A (ja)
KR (1) KR100516548B1 (ja)
CN (1) CN100382485C (ja)
GB (1) GB2398213B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008500638A (ja) * 2004-05-24 2008-01-10 インターデイジタル テクノロジー コーポレーション 暗号化オペレーションをサポートする複数のレジスタを備えたデータムーバコントローラ
WO2009090689A1 (ja) 2008-01-18 2009-07-23 Fujitsu Limited 暗号化装置、暗号化方法及びプログラム
WO2009090688A1 (ja) 2008-01-18 2009-07-23 Fujitsu Limited データ変換関数の処理装置
JP2010164793A (ja) * 2009-01-16 2010-07-29 Fujitsu Ltd 暗号処理装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100423811B1 (ko) * 2001-12-12 2004-03-22 한국전자통신연구원 카스미 암호화 알고리즘을 응용한 암호화 장치
US7760874B2 (en) 2004-07-14 2010-07-20 Broadcom Corporation Method and system for implementing FI function in KASUMI algorithm for accelerating cryptography in GSM/GPRS/EDGE compliant handsets
US7627115B2 (en) * 2004-08-23 2009-12-01 Broadcom Corporation Method and system for implementing the GEA3 encryption algorithm for GPRS compliant handsets
US7623658B2 (en) * 2004-08-23 2009-11-24 Broadcom Corporation Method and system for implementing the A5/3 encryption algorithm for GSM and EDGE compliant handsets
US7627113B2 (en) * 2005-02-08 2009-12-01 Broadcom Corporation Method and system for hardware accelerator for implementing f8 confidentiality algorithm in WCDMA compliant handsets
US7869590B2 (en) * 2005-04-12 2011-01-11 Broadcom Corporation Method and system for hardware accelerator for implementing f9 integrity algorithm in WCDMA compliant handsets
WO2008044344A1 (fr) * 2006-10-12 2008-04-17 Panasonic Corporation Appareil de communication, circuit intégré à semi-conducteurs et dispositif électronique
US8553876B1 (en) * 2007-10-23 2013-10-08 Oracle America, Inc. High performance cryptography on chip multithreading processors
EP2223431A4 (en) * 2008-08-15 2010-09-01 Lsi Corp DECODING LIST OF CODED WORDS CLOSE IN RAM MEMORY
JP5387295B2 (ja) * 2009-09-29 2014-01-15 富士通株式会社 暗号装置及び方法
US20110091035A1 (en) * 2009-10-20 2011-04-21 Sun Microsystems, Inc. Hardware kasumi cypher with hybrid software interface
US20170126399A1 (en) * 2014-05-14 2017-05-04 Mitsubishi Electric Corporation Encryption apparatus, storage system, decryption apparatus, encryption method, decryption method, and computer readable medium
CN105281915B (zh) * 2015-11-04 2018-11-20 博宏信息技术有限公司 一种密码键盘生成密文的方法
CN108390875B (zh) * 2018-02-13 2020-08-07 沈阳航空航天大学 一种减少传输能耗的信息加密优化方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3798359A (en) * 1971-06-30 1974-03-19 Ibm Block cipher cryptographic system
US4195196A (en) * 1973-10-15 1980-03-25 International Business Machines Corporation Variant key matrix cipher system
KR100296958B1 (ko) * 1998-05-06 2001-09-22 이석우 블록 데이터 암호화 장치
US6189095B1 (en) * 1998-06-05 2001-02-13 International Business Machines Corporation Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
KR20030085094A (ko) * 2001-04-03 2003-11-01 미쓰비시덴키 가부시키가이샤 암호화 장치
US7212631B2 (en) * 2001-05-31 2007-05-01 Qualcomm Incorporated Apparatus and method for performing KASUMI ciphering
KR100423811B1 (ko) * 2001-12-12 2004-03-22 한국전자통신연구원 카스미 암호화 알고리즘을 응용한 암호화 장치
US7796752B2 (en) * 2002-11-04 2010-09-14 Marvell International Ltd. Cipher implementation

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008500638A (ja) * 2004-05-24 2008-01-10 インターデイジタル テクノロジー コーポレーション 暗号化オペレーションをサポートする複数のレジスタを備えたデータムーバコントローラ
WO2009090689A1 (ja) 2008-01-18 2009-07-23 Fujitsu Limited 暗号化装置、暗号化方法及びプログラム
WO2009090688A1 (ja) 2008-01-18 2009-07-23 Fujitsu Limited データ変換関数の処理装置
US8295479B2 (en) 2008-01-18 2012-10-23 Fujitsu Limited Data conversion function processor
JP5056860B2 (ja) * 2008-01-18 2012-10-24 富士通株式会社 データ変換関数の処理装置
US8335313B2 (en) 2008-01-18 2012-12-18 Fujitsu Limited Encryption device, encryption method and storage medium storing its program
JP5182295B2 (ja) * 2008-01-18 2013-04-17 富士通株式会社 暗号化装置及び暗号処理方法
JP2010164793A (ja) * 2009-01-16 2010-07-29 Fujitsu Ltd 暗号処理装置

Also Published As

Publication number Publication date
KR20040070956A (ko) 2004-08-11
CN1523810A (zh) 2004-08-25
GB2398213B (en) 2005-12-14
US7447311B2 (en) 2008-11-04
GB0402313D0 (en) 2004-03-10
US20040156499A1 (en) 2004-08-12
KR100516548B1 (ko) 2005-09-22
CN100382485C (zh) 2008-04-16
GB2398213A (en) 2004-08-11

Similar Documents

Publication Publication Date Title
US7885404B2 (en) Cryptographic systems and methods supporting multiple modes
US8379841B2 (en) Method and system for high throughput blockwise independent encryption/decryption
US9363078B2 (en) Method and apparatus for hardware-accelerated encryption/decryption
JP2004240427A (ja) 移動通信システムにおける最適の暗号化関数を設計する方法及び最適の暗号化装置
US8346839B2 (en) Efficient advanced encryption standard (AES) datapath using hybrid rijndael S-box
EP0471839B1 (en) Encryption apparatus
US20140189367A1 (en) Digital-encryption hardware accelerator
EA010611B1 (ru) Способ (варианты) и устройство для криптографической обработки данных (варианты)
US20010050989A1 (en) Systems and methods for implementing encryption algorithms
JP2007535000A (ja) Rc4暗号化を実行するための装置および方法
US11763867B2 (en) PUF applications in memories
US7627113B2 (en) Method and system for hardware accelerator for implementing f8 confidentiality algorithm in WCDMA compliant handsets
US20030044007A1 (en) Methods and apparatus for accelerating ARC4 processing
US6108421A (en) Method and apparatus for data encryption
US7257229B1 (en) Apparatus and method for key scheduling
JP3769804B2 (ja) 解読化方法および電子機器
US7627115B2 (en) Method and system for implementing the GEA3 encryption algorithm for GPRS compliant handsets
EP1629626B1 (en) Method and apparatus for a low memory hardware implementation of the key expansion function
US20060013391A1 (en) Method and system for implementing FO function in KASUMI algorithm for accelerating cryptography in GSM/GPRS/EDGE compliant handsets
JP2004004603A (ja) 拡大鍵生成装置、暗号化装置および暗号化システム
EP1001398A1 (en) Ciphering apparatus
US7583800B2 (en) Encryption apparatus and method in a wireless communications system
JP2009098321A (ja) 情報処理装置
KR100494560B1 (ko) Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법
KR100546777B1 (ko) Seed 암/복호화 장치, 암/복호화 방법, 라운드 처리 방법, 이에 적합한 f함수 처리기

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070613

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070724

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070817