New! View global litigation for patent families

JP4020197B2 - Efficient packet encryption method - Google Patents

Efficient packet encryption method

Info

Publication number
JP4020197B2
JP4020197B2 JP2002382422A JP2002382422A JP4020197B2 JP 4020197 B2 JP4020197 B2 JP 4020197B2 JP 2002382422 A JP2002382422 A JP 2002382422A JP 2002382422 A JP2002382422 A JP 2002382422A JP 4020197 B2 JP4020197 B2 JP 4020197B2
Authority
JP
Grant status
Grant
Patent type
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.)
Expired - Fee Related
Application number
JP2002382422A
Other languages
Japanese (ja)
Other versions
JP2003234732A (en )
JP2003234732A5 (en )
Inventor
シディクイ アンワー
ウツケ マーク
ガースティン マーク
エル. ロビンソン リチャード
アール. ギルマン ロバート
Original Assignee
アバイヤ テクノロジー コーポレイションAvaya Technology Corp.
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
Grant date

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 communication
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communication 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
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communication
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/80Wireless

Description

【0001】 [0001]
【発明の属する技術分野】 BACKGROUND OF THE INVENTION
(発明の分野) (Field of the Invention)
本発明は、電気通信伝送、特に、伝送中に紛失および/または順序が狂って送達されるパケットのストリームに関する演算処理が効率的なパケット暗号化方法に関する。 The present invention, telecommunication transmission, in particular, the calculation processing about the stream of packets regarding efficient packet encryption method delivered lost and / or out of sequence during transmission.
【0002】 [0002]
【従来の技術】 BACKGROUND OF THE INVENTION
(問題) (problem)
パケット伝送の分野において、暗号化セキュリティを高めて、伝送されたパケットを、承認されないデバイスが傍受および復号化することを防ぎ、他方、平文を暗号化および復号化する演算処理時間を増加させないパケット暗号化方法を提供することが問題である。 In the field of packet transmission, to increase the encryption security, the transmitted packet, prevents the device not authorized to intercept and decrypt the other, does not increase the processing time to encrypt and decrypt the plaintext packet encryption it is a problem to provide a method. パケット伝送の分野における第2の問題は、パケットのシーケンスを宛先で組立て直し、他方、パケットストリームを復号化および組立て直すために受信器が過度の時間を要求しないパケット暗号化方法を提供することである。 The second problem in the field of packet transmission is to provide reassembles a sequence of packets at the destination, on the other hand, a packet encryption method the receiver does not require excessive time to re decrypt and assemble the packet stream is there. 第3の問題は、紛失または順序が狂ったパケットが存在する状態において、受信されたパケットの復号化を同期化することである。 A third problem, in a state in which packets lost or out-of-sequence is present, is to synchronize the decoding of the received packet.
【0003】 [0003]
有線または無線の両方のパケット交換において、平文のパケットは、ネットワークを介してソースから宛先へ送信される。 In a wired or wireless both packet switching, packet plaintext are transmitted from a source to a destination via a network. パケットは、パケットアセンブラ/ディスアセンブラによって、平文の個々のパケットに組立てられ、および組立て直される。 Packet, by the packet assembler / disassembler, assembled into individual packets of plaintext, and reassembled. 各パケットは、一意に定まる識別番号、すなわちシーケンスナンバーを有し、各パケットは、3つの基本要素、すなわち、ヘッダ、ペイロード、および任意にトレイラを含む。 Each packet, uniquely determined identification number, i.e. having a sequence number, each packet includes three basic elements, namely, header, payload, and optionally a trailer. ヘッダは、シーケンスナンバー、同期ビット、宛先アドレス、ソースアドレス、パケット長さといった制御情報(control information)を含む。 The header includes a sequence number, synchronizing bits, destination address, source address, control information such as the packet length a (control information). ペイロードは、伝送される平文であり、トレイラはパケットフラグの端ならびに誤り検出ビットおよび誤り訂正ビットを含む。 The payload is the plaintext to be transmitted, the trailer includes an end and error detection bits and error correction bits packet flag.
【0004】 [0004]
パケット交換ネットワーク上で伝送するために、媒体ストリームは「パケット」に分解される。 For transmission over a packet switched network, the media stream is decomposed into "packets". 各パケットは、ネットワークを介して、利用可能なノードを通って宛先に移動し、帯域幅が伝送のために利用可能になると、ノードからノードへ伝送される。 Each packet through the network, to move to the destination through available nodes, the bandwidth becomes available for transmission, it is transmitted from node to node. 宛先ノードにおいて、パケットを元の連続するストリームに分解する試みがなされる。 At the destination node, it degrades attempt is made to a continuous stream original packet. パケットは、異なったルートをたどるネットワーク該Sベクトル内の該次の連続的暗号化バイトEを介して移動するので、宛先において、順序が狂った状態で到着することがよくある。 Packets, since different moves through successive encryption byte E in said next in the network the S vector following the route, at the destination, are often arrive in a state of out-of-sequence. 他のパケットは、ネットワーク内で紛失され得る。 Other packets may be lost in the network. 紛失したパケットおよび/または順序が狂った状態で受信されるパケットの伝送し直しをリクエストし、パケットを元の連続するメッセージに分解するために、宛先において、さらなる処理時間が要求される。 To request re-transmission of packets lost packets and / or order is received by the mad state, in order to decompose the successive messages based on the packet, the destination, further processing time is required.
【0005】 [0005]
パケット伝送の分野において、2つの暗号化方法、すなわち、RC4およびWEP(Wired Equivalency Privacy)が一般的に用いられる。 In the field of packet transmission two encryption methods, i.e., RC4 and WEP (Wired Equivalency Privacy) is generally used. RC4は、CDPD(Cellular Degital Packet Data)で支援される暗号化方法であり、WEPは、IEEE802.11標準規格により支援される暗号化方法である。 RC4 is an encryption method supported in the CDPD (Cellular Degital Packet Data), WEP is an encryption method supported by the IEEE802.11 standard. 電気電子技術者協会(IEEE)は、ローカルエリアネットワーク(LAN)で用いられるもの、802シリーズの標準規格を含む、多くの電気通信および演算処理の標準規格化を担う団体である。 Institute of Electrical and Electronics Engineers (IEEE) is that used in a local area network (LAN), including 802 series standards, an organization responsible for the standardization of many telecommunications and processing. IEEE802パート11b(802.11b)は、普通、LANの構築において益々一般的になる無線のために用いられる。 IEEE802 Part 11b (802.11b) is commonly used for the radio become increasingly common in the construction of LAN.
【0006】 [0006]
WEPおよびRC4は、「ストリーム型」暗号であり、ソースにおいて、ランダムな暗号化バイトの文字列を生成し、これらの文字列の全ては平文バイトと論理和をとり、暗号文を形成する。 WEP and RC4 are "stream type" encryption, in the source, generates a string of random encryption bytes takes plaintext bytes and logical sum all these strings to form a ciphertext. 逆に、暗号文は、同じ暗号化ストリームと排他的論理和をとり得、宛先で平文を復元(restore)する。 Conversely, the ciphertext may take an exclusive OR with the same encryption stream to restore the plaintext at the destination (restore).
【0007】 [0007]
【発明が解決しようとする課題】 [Problems that the Invention is to Solve
(RC4暗号化方法) (RC4 encryption method)
RC4は、単一ストリーム生成器、非常に長いストリームの生成器として開始から終了まで動作する。 RC4 operates a single stream generator, from the start as a generator of a very long stream until the end. RC4は、暗号化方法内でパケットシーケンスナンバーを用いない。 RC4 does not use the packet sequence number within the encryption method. その代わりに、ペイロード平文の次のバイトのシーケンスが用いられる。 Instead, the following sequence of bytes of payload plaintext is used. 換言すると、各バイトの暗号化/復号化は、ストリーム全体の中のバイトの位置に依存する。 In other words, the encryption / decryption of each byte is dependent on the position of the byte in the entire stream. RC4は、256バイトまでの鍵を用いて、256バイトのSベクトルを生成する。 RC4 uses a key of up to 256 bytes to generate a S vector of 256 bytes. このSベクトルは、ペイロード平文の各連続的なバイトを逐次的に暗号化する。 The S vector is sequentially encrypt each successive byte of payload plaintext. Sベクトルアルゴリズムは、2つの変数を用い、Sベクトルは、各バイトが暗号化された後に並べ換えられ、従って、各暗号化ストリームの値は、すでに暗号化または復号化されたペイロードバイトの数に依存する。 S vector algorithm uses two variables, S vector is permuted after each byte is encrypted, thus, the value of each encryption stream is already dependent on the number of encrypted or decrypted payload bytes to. 従って、Sベクトルは、時間の経過とともに進化し、RC4を再同期化することを非実用的にする。 Therefore, S vector evolves over time, impractical to resynchronize the RC4.
【0008】 [0008]
ペイロード平文のバイトの全てが暗号化されると、暗号文は、パケットに組立てられ、ヘッダおよびトレイラは、伝送用に各パケットに付加される。 When all of the bytes of payload plaintext is encrypted, the ciphertext is assembled into packets, header and trailer is added to each packet for transmission. 問題は、データのパケットが伝送中に紛失されるときに起こる。 Problem occurs when a packet of data is lost during transmission. 宛先は、パケットが紛失されたこと(まだ受信されていないこと)を知る。 The destination knows that a packet has been lost (not yet received). なぜなら、各ヘッダはシーケンスナンバーを含むからである。 This is because, each header is because including the sequence number. 第2のパケットが宛先に到着しない場合、この宛先は、第1のパケット内のペイロード暗号文のバイトを復号化することができる。 If the second packet does not arrive the destination, the destination can decrypt the bytes of payload ciphertext within the first packet. しかしながら、宛先は、受信された第3のパケットを復号化し得ない。 However, the destination can not decrypt the third packet that is received. なぜなら、宛先は、行方不明の第2のパケットでどれだけのペイロード暗号文のバイトが伝送されたかを知らないからである。 Because the destination is missing the second byte of just how the payload ciphertext packet is not know whether the transmission. 従って、宛先は、受信されないすべてのパケットの再伝送をリクエストすることを要求する。 Therefore, the destination is required to request a retransmission of all packets not received. これは、リアルタイムの媒体ストリームにとって実用的でない。 This is not practical for real-time media stream. 平文の全てのバイトは、逐次的に暗号文に変換されたので、暗号文のバイトは、復号化と同じ順序で処理されなければならない。 All bytes of plaintext, so was converted sequentially into ciphertext byte of ciphertext must be processed in the same order as decoding.
【0009】 [0009]
上述のRC4暗号化方法は、パケットが伝送中に回復不可能に紛失された場合、すぐ次の受信されたパケットを復号化する方法を提供することができない。 RC4 encryption method described above, if a packet is lost irretrievably during transmission, it can not provide a method for decoding immediately following received packet.
【0010】 [0010]
(Wired Equivalency Privacy(WEP)法) (Wired Equivalency Privacy (WEP) method)
IEEE802.11bは、Wired Equivalency Privacy(WEP)法を用いる。 IEEE802.11b is, Wired Equivalency Privacy (WEP) method is used. RC4とWEPとの類似性は、WEPが、各パケットが鍵の1部としてシーケンスナンバーを用いる方法を再初期化することによりRC4を用いることである。 Similarity between RC4 and WEP is, WEP is, each packet is the use of RC4 by reinitializing the method for using a sequence number as part of the key. WEP暗号化方法は、新しい鍵を用いて新しいSベクトルを入力し直す(rekeying)(新しい鍵を選択する)ことにより再初期化される。 WEP encryption method (selecting a new key) to re-enter (rekeying) a new S-vector using the new key is reinitialized by.
【0011】 [0011]
RC4を用いて生成された問題を解決するために、WEPはRC4を用いるが、その際、WEPが、各パケットについて、同様にインクリメントされたSベクトルを用いるのに対して、RC4は、ぺイロードの各バイトについて、インクリメントされたSベクトルを用いるという例外を伴う。 To solve the problems generated using RC4, WEP uses RC4, but this time, WEP, for each packet, while the use of S-vector that is incremented similarly, RC4 is payload for each byte, involving exception of using the incremented S-vector. 各パケットについて新しいSベクトルを生成することによって、宛先は、受信された任意の順序で、およびパケットが紛失した状態の下で、各パケットを復号化することができる。 By generating a new S-vector for each packet, the destination, in any order they received, and under the state that a packet is lost, it is possible to decrypt each packet. 換言すると、WEPは、1つのパケットの開始から終了まで動作し、これに対して、RC4は、各ぺイロードストリームのために伝送されたパケットの数に関係なく、各ペイロードストリームについて開始から終了まで動作する。 In other words, WEP is operated from the start to the end of one packet, whereas, RC4, regardless of the number of transmitted packets for each pair Lee Road stream, from start to finish for each payload stream Operate. これは、音声通信などの小さいパケットに対してWEPを非効率にする。 This a WEP inefficient for small packets such as voice communication. なぜなら、新しいSベクトルは各パケットごとに計算される必要があるからである。 This is because the new S vector there is a need to be computed for each packet.
【0012】 [0012]
紛失したパケットが宛先における復号化を妨げる問題が解決される一方で、各パケットごとに方法を入力し直しかつ再初期化する工程は、計算量が多く、安全でないことが示された。 While lost packet is problem that prevents the decoding at the destination, the step of and reinitialize reenter the method for each packet is computationally more expensive, it has been shown to be safe. WEPには安全上の欠点があることが示されている。 It has been shown that there is a drawback on the safety in the WEP. Stubblefieldらによる「Using the Fluhrer,Martin,and Shamir attack to break WEP」 http://www. By Stubblefield et al., "Using the Fluhrer, Martin, and Shamir attack to break WEP " http: // www. cs. cs. rice. rice. edu/〜astubble/wep/wep attack. edu / ~astubble / wep / wep attack . html html
および「Weaknesses in the Key SchedulingMethod of RC4」 And "Weaknesses in the Key SchedulingMethod of RC4"
http://www. http: // www. eyetap. eyetap. org/〜rguerra/toronto2001/rc4_ksaproc. org / ~rguerra / toronto2001 / rc4_ksaproc. pdf pdf
を参照されたい。 See. いくつかのPCカードは、初期化される毎に、パケットシーケンスナンバーをゼロにリセットし、その後、使用毎に1度ずつインクリメントする。 Some PC cards, each time it is initialized, reset the packet sequence number to zero, then increments once for each use. この方法は処理時間を低減するが、他方、この方法は、鍵ストリームが再利用される高い尤度をもたらし、暗号文に対する単純な暗号解析攻撃およびメッセージトラフィックの復号に至る。 This method reduces the processing time, while this method results in a high likelihood that the key stream is recycled and reaches the decoding simple cryptanalytic attacks and message traffic to the ciphertext. ハッカーが1つのパケットの暗号コードを破ることができた場合、ハッカーは、すべてのパケットを復号化し得る。 If a hacker can break the encryption code for one packet, the hacker can decrypt all packets. WEPの別の問題は、WEPの計算量が多いことである。 Another problem with WEP is that the calculation amount of WEP is large. Sベクトルループは、(256バイトのベクトルに対して)256のステップを要求し、各パケットについてSベクトルが計算し直される。 S vector loop requires a step 256 (to the vector 256 bytes), S vector is recalculated for each packet.
【0013】 [0013]
RC4は、ペイロード平文ストリームにおける各バイトのSベクトルをインクリメントし、パケットがネットワーク内で紛失したときにすぐに回復できないという犠牲のもとに、RC4暗号化方法の計算量を少なくする。 RC4 increments the S-vector for each byte in the payload plaintext stream, at the cost can not be recovered as soon as the packet is lost in the network, to reduce the calculation amount of RC4 encryption method. WEPは、計算量が多い、あまり安全でない暗号化方法を提供することにより問題を解決し、従って、平文ストリームを暗号化および暗号文ストリームを復号化するために必要とされるオーバーヘッドタイムを増加させる。 WEP is computationally intensive, solves the problem by providing an encryption method is not very secure, thus increasing the overhead time that is required for decrypting the encrypted and ciphertext stream plaintext stream .
【0014】 [0014]
上述の暗号化方法は、ペイロード平文のストリームを効率的に暗号化する方法を提供することはできないが、他方、パケットが伝送中に紛失した場合、受信されたパケットを復号化することを可能にする。 Encryption method described above, it is not possible to provide a method for efficiently encrypting a stream of payload plaintext while if a packet is lost during transmission, so it possible to decode the received packet to.
【0015】 [0015]
この理由によって、ペイロード平文を暗号化するため、およびペイロード暗号文を復号化するために必要とされる時間を増加させず、パケットの紛失またはパケット(単数または複数)が順序が狂って到着した後にそれを回復する能力を有する、効率的なパケット暗号化方法が必要である。 For this reason, to encrypt the payload plaintext and without increasing the time required to decrypt the payload ciphertext, after loss or packet of the packet (s) have arrived out of sequence has the ability to recover it, there is a need for an efficient packet encryption method.
【0016】 [0016]
本発明は、上記事情に鑑みてなされたものであり、平文データの連続的パケットを暗号化および復号化する計算時間を低減し、パケットの紛失またはパケットが順序が狂って到着した後でも、回復する能力を有する、効率的なパケット暗号化方法を提供することを目的とする。 The present invention has been made in view of the above circumstances, to reduce the computation time to encrypt and decrypt successive packets of plaintext data, even after loss or packet of the packet arrives out of sequence, recovery It has the ability to, and to provide an efficient packet encryption method.
【0017】 [0017]
【課題を解決するための手段】 In order to solve the problems]
(解決) (Resolution)
本効率的なパケット暗号化方法は、上に概要が説明された問題を克服し、各パケットについてSベクトルを計算し直さない方法を提供することによって技術を進歩させ、従って、ペイロード平文を暗号化およびペイロード暗号文を復号化するために要求される時間を低減する。 The present efficient packet encryption method overcomes the problems outlined have been described above, advanced the art by providing a method that does not re-compute the S-vector for each packet, thus, it encrypts the payload plaintext and to reduce the time required to decrypt the payload ciphertext. 本効率的なパケット暗号化方法は、さらに、パケットが紛失または順序が狂うという問題を克服する。 The present efficient packet encryption method also overcomes the problem of packet loss or sequence mad. これは、パケットシーケンスナンバーを利用して、暗号化方法内で2つの変数を初期化する方法を提供することによって行なわれる。 It utilizes a packet sequence number, it is performed by providing a method to initialize two variables within the encryption method. 第3および第4の変数は、計算の中に注入され、暗号化計算内で用いられる値の予測可能性を最小化し、暗号化ストリームが反復する頻度を低減する。 Third and fourth variable are injected into the calculation to minimize the predictability of the values ​​used in the encryption calculation, encrypted stream to reduce the frequency of repetition.
【0018】 [0018]
本効率的なパケット暗号化方法は、標準RC4方法を利用し、秘密鍵を用いて初期Sベクトルを生成する。 The present efficient packet encryption method utilizes the standard RC4 method to generate an initial S-vector using the secret key. 各連続的なパケットについて新しいSベクトルを生成するWEPと異なって、Sベクトルは、平文ストリーム全体を暗号化するために一度生成され、従って、各すぐ次のパケットについて新しいSベクトルを生成するために必要な時間を削除する。 Differs from the WEP which generates a new S-vector for each successive packet, the S-vector is the entire plaintext stream once generated to encrypt, therefore, in order to generate a new S-vector for each immediately next packet to remove the required time.
【0019】 [0019]
本発明の効率的なパケット暗号化方法は、平文の少なくとも1つのバイトを暗号化して、暗号文の少なくとも1つのバイトを生成する方法であって、該方法は、秘密鍵を選択して、標準暗号化方法に従ってSベクトルを生成する工程と、シーケンスナンバーをセットする工程であって、該シーケンスナンバーは、第1の部分と第2の部分とを有する、工程と、該シーケンスナンバーの第1の部分として第1の変数をセットする工程と、該シーケンスナンバーの該第2の部分として第2の変数をセットする工程と、バイトシーケンスナンバーをセットする工程と、該第2の変数と該バイトシーケンスナンバーとの合計として第3の変数を計算する工程と、該バイトシーケンスナンバーを1つずつインクリメントする工程と、該第1の変数に、該 Efficient packet encryption method of the present invention encrypts at least one byte of plaintext, a method of generating at least one byte of ciphertext, the method selects a private key, the standard generating a S-vector according to an encryption method, a step of setting a sequence number, the sequence number includes a first portion and a second portion, a step, a first of said sequence number a step of setting the first variable as part, a step of setting the second variable as second portion of the sequence number, the step of setting a byte sequence number, the second variable and the byte sequence calculating a third variable as the sum of the number, and the step of incrementing by one the byte sequence number, to the first variable, the 3の変数により示されるSベクトル内の値を加算することにより、第4の変数を計算する工程と、暗号化バイトを特定する工程であって、該Sベクトル内の該暗号化バイトの位置は、該第3の変数と該第4の変数によって示される該Sベクトル内の値との合計によって示される、工程と、該暗号化バイトは、平文の少なくとも1つのバイトと排他的論理和をとり、暗号文の少なくとも1つのバイトを生成する工程とを包含する。 By adding the value of the S vector represented by 3 variables, calculating a fourth variable, a step of identifying the encrypted byte position of dark Goka bytes in the S vector , represented by the sum of the values ​​in the S vector represented by the third variable and said fourth variable, a step, dark Goka bytes, an exclusive OR operation with at least one byte of plaintext includes a step of generating at least one byte of ciphertext.
【0020】 [0020]
上記本発明の方法において、第2の変数をセットする工程は、前記シーケンスナンバーの前記第2の部分と、前記第1の変数により示される前記Sベクトル内の前記値とが排他的論理和をとる工程をさらに包含することが好ましい。 In the method of the present invention, the step of setting the second variable, and the second portion of the sequence number, the value and the exclusive OR in the S vector represented by the first variable preferably further comprising the step of taking.
【0021】 [0021]
上記本発明の方法において、第4の変数を計算する工程は、カウンタの値をセットする工程と、前記第1の変数に、前記第3の変数と前記カウンタにより示される前記Sベクトル内の前記値とによって示される該Sベクトル内の値を加算する工程とをさらに包含することが好ましい。 In the method of the present invention, the step of calculating a fourth variable, a step of setting the value of the counter, the first variable, the in the S vector represented by the third variable and the counter it is preferable to further include the step of adding the values ​​in the S vector represented by the value.
【0022】 [0022]
また、本発明の方法は、平文の1つ以上のパケットを暗号化する方法であって、平文の該1つ以上のパケットは、平文の複数のバイトを有し、該方法は、秘密鍵を取得する工程と、該秘密鍵を用いてSベクトルを生成する工程と、平文の各連続的な1つ以上のパケットについて、第1の部分および第2の部分を有するシーケンスナンバーを取得する工程と、該シーケンスナンバーの該第1の部分を用いて、第1の変数をセットする工程と、該シーケンスナンバーの該第2の部分を用いて、第2の変数をセットする工程と、ゼロと等しいバイトシーケンスナンバーをセットする工程と、平文の複数のバイトの各次のバイトについて、次の暗号化バイトを計算する工程であって、該計算する工程は、該第2の変数を該バイトシーケンスナンバーに The method of the present invention is a method of encrypting one or more packets of plaintext, is the one or more packets of plaintext, comprising a plurality of bytes of plaintext, the method a secret key a step of acquiring, generating a S-vector using the secret key, for each successive one or more packets of plaintext, a step of acquiring a sequence number having a first portion and a second portion , using the first portion of the sequence number equal to the step of setting the first variable, by using a second portion of the sequence number, the step of setting the second variable, the zero a step of setting a byte sequence number, for each next byte of the plurality of bytes of plaintext, comprising the steps of: calculating a next encryption byte, step, the byte sequence number of the second variable to the calculation to 算して第3の変数を生成する工程と、該第1の変数を、該第3の変数により示される該Sベクトル内の値に加算することにより第4の変数を計算する工程と、該第3の変数により示される該Sベクトル内の値を、ポインタを計算して該次の暗号化バイトを特定する該第4の変数に加算することにより該Sベクトル内の次の暗号化バイトを特定する工程とを包含する、計算工程と、該第2の変数と該第3の変数を等しくセットする工程と、該バイトシーケンスナンバーを1つずつインクリメントする工程とを包含する。 Generating a third variable to calculate, calculating a fourth variable by adding the first variable, the value in the S vector represented by the third variable, the the value in the S vector represented by the third variable, the following encryption byte within the S vector by adding the variable of said 4 to calculate a pointer identifying the encrypted byte of said next comprising a step of identifying includes a calculation step, a step of setting equal variables of said second variable and the third and the step of incrementing by one the byte sequence number.
【0023】 [0023]
上記本発明の方法において、第2の変数を計算する工程は、前記シーケンスナンバーの前記第2の部分が前記第1の変数により示される前記Sベクトル内の値と排他的論理和をとる工程を包含することが好ましい。 In the method of the present invention, the step of calculating a second variable, the step of taking the value as the exclusive OR of the said S vector and the second portion of the sequence number indicated by the first variable it is preferred to include.
【0024】 [0024]
上記本発明の方法において、送信器において、各次の暗号化されたバイトについて、前記次の暗号化バイトが平文の該複数のバイトの前記次のバイトと排他的論理和をとることによって、次の暗号文バイトを計算する工程をさらに包含することが好ましい。 In the method of the present invention, by taking in the transmitter, for each subsequent encrypted bytes, exclusive-ORed with the next byte of the plurality of bytes of the next encryption byte plaintext, following preferably further includes the step of calculating the ciphertext bytes.
【0025】 [0025]
上記本発明の方法において、受信器において、各次の暗号化バイトについて、前記次の暗号化バイトが、平文の各1つ以上のパケット内の前記次の暗号文と排他的論理和をとることによって、受信された次の平文バイトを計算する工程をさらに包含することが好ましい。 In the method of the present invention, in the receiver, for each subsequent encryption byte, the next encryption byte, taking the exclusive OR between the next ciphertext in each one or more packets of plaintext by preferably further includes the step of calculating the received next plaintext byte.
【0026】 [0026]
上記本発明の方法において、第4の変数を計算する工程は、カウンタをセットする工程と、前記第1の変数を、前記第3の変数と該カウンタとによって示される前記Sベクトル内の値に加算することによって、該第4の変数を計算する工程と、平文の各次の1つ以上のパケットについて、予め決定されたスケジュールにより、該カウンタの値をインクリメントする工程とをさらに包含することが好ましい。 In the method of the present invention, the step of calculating a fourth variable comprises the steps of setting the counter, the first variable, the value within the S-vector indicated by said third variable and said counter by adding, calculating a variable of said 4, for each subsequent one or more packets of plaintext, the predetermined schedule, to further include a step of incrementing the value of the counter preferable.
【0027】 [0027]
上記本発明の方法において、カウンタをセットする工程は、平文の1つ以上のパケットのうちの第1のパケットについて、ロールオーバカウンタをゼロにリセットする工程と、平文の各次の1つ以上のパケットについて、前記シーケンスナンバーをインクリメントすることが該シーケンスナンバーの値を1からすべて0に変換させる場合、該ロールオーバカウンタをインクリメントする工程をさらに包含することが好ましい。 In the method of the present invention, the step of setting the counter, the first packet of the one or more packets of plaintext, comprising the steps of: resetting the rollover counter to zero, each of the plaintext following one or more for packets, incrementing the sequence number if that converts all from 1 to the value of the sequence number 0, it is preferable to further comprise the step of incrementing the rollover counter.
【0028】 [0028]
上記本発明の方法において、平文の前記複数のバイトの各次のバイトについて、前記Sベクトルを並べ替える工程であって、前記Sベクトルのコピーを保存する工程と、前記第3の変数、および前記第4の変数により示される該Sベクトル内の値により示される該Sベクトル内の値を入れ替える工程であって、該Sベクトル内の該値は、前記次の暗号化バイトが特定された後に入れ替えられる、工程と、平文の各次の1つ以上のパケットについて、保存された該Sベクトルを復元する工程とをさらに包含することが好ましい。 In the method of the present invention, for each next byte of the plurality of bytes of plaintext, the comprising the steps of rearranging the S vector, the step of storing a copy of the S vector, the third variable, and the a step of replacing the values ​​in the S vector represented by the value in the S vector represented by the fourth variable, said value within the S-vector is replaced after the next encryption byte is identified is, step and, for each next one or more packets of plaintext, it is preferable to further include the step of restoring the saved the S-vector.
【0029】 [0029]
また、本発明の方法は、平文Pの複数のバイトを有する1つ以上のパケットを、複数の暗号文バイトCを有する1つ以上のパケットに変換する方法であって、該方法は、秘密鍵を取得する工程と、該秘密鍵を用いて、複数のSベクトルバイトを有するSベクトルを計算する工程と、第1の部分と第2の部分とを有するシーケンスナンバーをランダムにセットする工程と、各連続的な1つ以上のパケットについて、該シーケンスナンバーをインクリメントする工程と、j=該シーケンスナンバーの第1の部分により、第1の変数jをセットする工程と、i=該シーケンスナンバーの第2の部分により、第2の変数iを計算する工程と、平文Pの該複数のバイトの各連続的バイトについて、次の連続的暗号文バイトCを計算する工程であって、該 The method of the present invention, one or more packets having a plurality of bytes of plaintext P, a method of converting into one or more packets having a plurality of ciphertext bytes C, the method comprising the secret key a step of acquiring, a step of using the private key, and sets the random and calculating the S vector, the sequence number having a first portion and a second portion having a plurality of S-vector bytes, for each successive one or more packets, a step of incrementing the sequence number, the first portion of the j = said sequence number, a step of setting a first variable j, the in i = the sequence number the second portion, calculating a second variable i, for each successive byte of the plurality of bytes of plaintext P, a step of calculating a next successive ciphertext byte C, the 算する工程は、j=j+S[i]により、該第1の変数をさらに計算する工程と、第3の変数kをセットする工程と、i=i+kにより、該第2の変数iをさらに計算する工程と、E=S[S[i]+S[j]]により、該Sベクトル内の該次の連続的暗号化バイトEを特定する工程と、該次の連続的暗号化バイトEを、C=E+Pにより、次の連続的暗号文バイトCに変換する工程とを包含する工程と、平文Pの該複数のバイトの最後のバイトが該1つ以上のパケットの該次のパケットについて暗号文バイトCに変換された場合、該1つ以上のパケットの該次の連続的パケットを受信器に伝送する工程とを包含する。 A step of calculation, due j = j + S [i], a step of further calculating a first variable, the step of setting a third variable k, the i = i + k, further calculates a second variable i a step of, by E = S [S [i] + S [j]], and specifying the sequential encryption byte E in said next in the S vector, the sequential encryption byte E of said next, the C = E + P, the steps comprising a step of converting the next successive ciphertext byte C, the last byte of the plurality of bytes of plaintext P is of the one or more packets packet ciphertext for the said next when converted to a byte C, comprising a step of transmitting the continuous packets said next of the one or more packets to a receiver.
【0030】 [0030]
上記本発明の方法において、第2の変数を計算する工程は、下位シーケンスナンバー、および第1の変数により示される前記Sベクトル内の値が、i=(該シーケンスナンバーの下位)+S[j]により、排他的論理和を取る工程をさらに包含することが好ましい。 In the method of the present invention, the step of calculating a second variable, lower sequence number, and the value in the S vector is represented by the first variable, i = (low order of the sequence number) + S [j] Accordingly, it is preferable to further include the step of XORing.
【0031】 [0031]
上記本発明の方法において、前記第1の変数jをさらに計算する工程は、 In the method of the present invention, the step of further calculating the first variable j is
カウンタrをセットする工程と、j=j+S[i]+S[r]により、該第1の変数jをさらに計算する工程と、1つ以上のパケットの各連続的パケットに関して、該カウンタrの値をインプリメントする工程とをさらに包含することが好ましい。 A step of setting a counter r, the j = j + S [i] + S [r], a step of further calculating a first variable j, for each successive packet of the one or more packets, the value of the counter r it is preferable to further include a step of implementing a.
【0032】 [0032]
上記本発明の方法において、次の連続的暗号化バイトEを計算する工程は、前記Sベクトルを並べ替える工程であって、該Sベクトルのコピーを保存する工程と、前記第1の変数jにより示される複数のSベクトルのバイトと、前記第2の変数iにより示される複数のSベクトルのバイトとを入れ替える工程とを包含する、工程と、平文Pの複数のバイトの最後のバイトが、次の1つ以上のパケットについて、複数の暗号文バイトCに変換される場合、該保存されたSベクトルを復元する工程とをさらに包含することが好ましい。 In the method of the present invention, the step of calculating a next successive encryption byte E, said method comprising rearranging the S vector, the step of storing a copy of the S-vector, by the first variable j and byte multiple S vector represented, comprising a step of replacing a byte of the plurality of S-vector represented by the second variable i, and step, the last byte of the plurality of bytes of plaintext P, the following for one or more packets, as converted into a plurality of ciphertext bytes C, it is preferable to further include the step of restoring the saved S-vector.
【0033】 [0033]
また、本発明の方法は、平文Pの複数のバイトを有する1つ以上のパケットを、複数の暗号文バイトCを有する1つ以上のパケットに変換する方法であって、該方法は、秘密鍵を取得する工程と、該秘密鍵を用いて、複数のSベクトルバイトを有するSベクトルを計算する工程と、高位または下位を有するシーケンスナンバーをランダムにセットする工程と、各連続的な1つ以上のパケットに関して、該シーケンスナンバーをインクリメントする工程と平文Pの該複数のバイトの各連続的バイトについて、次の連続する暗号化バイトEを計算する工程であって、j=該シーケンスナンバーの高位により、第1の変数jをセットする工程と、i=(シーケンスナンバーの下位)+S[j]により、第2の変数iを計算する工程と、カウンタrを The method of the present invention, one or more packets having a plurality of bytes of plaintext P, a method of converting into one or more packets having a plurality of ciphertext bytes C, the method comprising the secret key a step of acquiring, by using the secret key, calculating a S vector having a plurality of S-vector bytes, the step of setting a random sequence number having a high or a low order, each successive one or more respect of packets, for each successive byte of the plurality of bytes of steps and the plaintext P for incrementing the sequence number, a step of calculating a next successive encryption byte E, the high-order j = the sequence number a step of setting a first variable j, the i = (low order sequence number) + S [j], and calculating the second variable i, the counter r ットする工程と、j=j+S[i]+S[r]により、該第1の変数をさらに計算する工程と、第3の変数kをセットする工程と、i=i+kにより、該第2の変数iをインクリメントする工程と、E=S[S[i]+S[j]]により、該Sベクトル内の該次の連続的暗号化バイトEを特定する工程とを包含する工程と、該次の連続的暗号化バイトEを、C=E+Pにより、次の連続的暗号文バイトCに変換する工程と、平文Pの該複数のバイトの最後のバイトが、1つ以上のパケットの次のパケットに関して、暗号文バイトCに変換された場合、該1つ以上のパケットの該次の連続的パケットを受信器に伝送する工程と、を包含する。 A step of Tsu and in which, j = j + S [i] + S [r], a step of further calculating a first variable, the step of setting a third variable k, the i = i + k, the second a step of incrementing the variable i, the E = S [S [i] + S [j]], the steps comprising a step of identifying a continuous encryption byte E in said next in the S vector, said next packets continuously encryption byte E, by C = E + P, the step of converting the next successive ciphertext byte C, the last byte of the plurality of bytes of plaintext P is, the one or more packets of the next regard include when converted to ciphertext byte C, a step of transmitting the continuous packets said next of the one or more packets to a receiver, the.
【0034】 [0034]
(変数計算) (Variable calculation)
2つの変数iおよびjは、パケット内の平文の各バイトと排他的論理和をとる暗号化ストリームを生成するために用いられる。 Two variables i and j are used to generate the encryption stream XORing each byte of the plaintext within the packet. 変数iおよびjの新しい値は、パケット内の連続的な平文バイトについて計算される。 The new value of the variable i and j are calculated for successive plaintext bytes within a packet. 変数iおよびjが最初にゼロにセットされ、ペイロードにおけるすぐ次の平文バイトに関してインクリメントされるRC4と異なって、初期Sベクトルが生成された後、第1のパケットに対して開始シーケンスナンバーが生成される。 Variables i and j are initially set to zero, unlike RC4 that is incremented with respect to the very next plaintext byte in the payload, after the initial S-vector has been generated, the starting sequence number is generated for the first packet that. シーケンスナンバーの第1の部分は、変数jを表し、シーケンスナンバーの第2の部分は変数iを計算するために用いられる。 The first portion of the sequence number represents variable j, the second portion of the sequence number is used to calculate the variable i.
【0035】 [0035]
1実施形態において、変数iは、シーケンスナンバーの第2の部分がS[j]の値と排他的論理和をとることによって計算される。 In one embodiment, the variable i, the second portion of the sequence number is computed by XORing the value of S [j]. ここで、S[j]はSベクトルから導き出される。 Here, S [j] is derived from the S-vector. 第3の変数S[j]を変数iの開始値の計算工程に注入することは、従って、本効率的なパケット暗号化方法は、公知の平文攻撃に対してより安全であるようにする。 Injecting a third variable S [j] to the calculation step of the starting value of the variable i is therefore present efficient packet encryption method, to be more secure against known plaintext attacks. 変数iおよびjの新しい開始値は、各すぐ次のパケットについて計算される。 New starting value of the variable i and j are calculated for each immediately following packet. シーケンスナンバーを用いて、暗号化ストリームを生成することは、パケットが受信される順序に関係なく、宛先においてパケットを解読する方法を提供する。 Using the sequence number, to generate an encrypted stream, regardless of the order in which the packet is received, provides a method for deciphering packets at the destination. これは、さらに、パケットが紛失された後、受信されたすぐ次のパケットを解読する方法を提供し、従って、平文の連続的パケットを暗号化、伝送および解読する時間を低減する。 This further after the packet has been lost, and provides received how to decipher the immediately following packet, therefore, encrypts the continuous packet plaintext, reducing the time to transmit and decode.
【0036】 [0036]
(連続的暗号化および暗号文バイトの計算) (Calculation of continuous encryption and ciphertext bytes)
パケット内の次の連続的バイトが暗号化されていな場合、変数iおよびjは、パケット内の各連続的バイトについて計算し直される。 If the next successive byte within the packet is not encrypted, variables i and j are recalculated for each successive byte within the packet. 第2の変数iは、前の繰返しからの第2の変数iと、第4の変数kとの合計として計算し直される。 The second variable i, and the second variable i from the previous iteration, is re-calculated as a sum of the fourth variable k. ここで、kはパケットペイロード内のバイトシーケンスナンバーである。 Here, k is the byte sequence number in the packet payload. 各パケットの開始において、kはリセットされ、kはパケット内の平文の各連続的バイトについてインクリメントされる。 At the start of each packet, k is reset, k is incremented for each successive byte of plaintext within the packet. 第4の変数kは、第2の変数iを計算するために用いられ、本効率的なパケット暗号化方法が、平文の大きいペイロードを暗号化するために利用されるとき、異なったパケット内で同じ暗号化ストリームの部分が利用される可能性を低減する。 Fourth variable k is used to calculate the second variable i, the present efficient packet encryption method, when utilized to encrypt large payloads of plaintext within different packets part of the same encryption stream to reduce the possibility to be used. 第1の変数jは、前の繰返しに第3の変数S[i]およびs[j]をそれぞれ加えることによって、第1の変数の合計として計算し直される。 The first variable j is by adding a third variable S [i] and s [j] respectively in the previous iteration, is re-calculated as the sum of the first variable. ここで、S[i]およびs[j]はSベクトルから導き出される。 Here, S [i] and s [j] is derived from the S-vector.
【0037】 [0037]
S[r]を暗号化方法に注入することは、暗号化ストリームを生成し、ここで、暗号化ストリームは、パケットの長いシーケンスにわたって反復しない。 Injecting S [r] into the encryption method generates an encryption stream, wherein the encrypted stream does not repeat over a long sequence of packets. S[r]を含むことなく、暗号化ストリームは、1秒毎に100個のパケットでほぼ11分毎に反復する。 Without containing S [r], the encryption stream repeats approximately every 11 minutes 100 packets per second. S[r]を計算の中に注入することは、暗号化ストリームを生成し、この暗号化ストリームは、46時間毎に反復し、従って、本効率的なパケット暗号化方法をより安全にする。 Injecting S [r] into the calculation generates an encryption stream, the encryption stream repeats every 46 hours, thus making the present efficient packet encryption method more secure.
【0038】 [0038]
別の実施形態において、Sベクトルは、各連続的パケットが暗号化される間に並べ替えられる。 In another embodiment, S vectors, each successive packet is sorted while being encrypted. この実施形態において、Sベクトルが最初に計算され、Sベクトルのコピーが保存される。 In this embodiment, the S-vector is first calculated, a copy of the S-vector is saved. 暗号化された平文の各連続的バイトに関して、第1の変数jおよび第2の変数iにより示されるSベクトル内の値が入れ替えられる。 For each successive byte of the encrypted plaintext, the value within the S vector represented by the first variable j and the second variable i are swapped.
平文の各連続的バイトについて、Sベクトル内の値を入れ替えることによって、Sベクトルは、時間の経過とともに並べ替えられ、従って、長い平文ペイロードのために生成された暗号化ストリームは、パケット内で反復する確率が低い。 For each successive byte of plaintext, by replacing the values ​​in the S-vector, the S-vector is sorted with time, therefore, the encryption stream generated for long plaintext payloads is repeated in the packet a low probability of. パケット内の平文のすべてのバイトが暗号化されている場合、初期Sベクトルは、次のパケットの暗号化および復号化に用いるために復元される。 If all bytes of the plaintext within the packet have been encrypted, the initial S-vector is restored for use in encrypting and decrypting the next packet.
【0039】 [0039]
(第1の暗号化および暗号文バイトの計算) (First encryption and calculation of the encrypted bytes)
暗号化ストリームの第1のバイトは、式E=[S[i]+S[j]]を用いてSベクトルから導き出される。 The first byte of the encryption stream is derived from the S-vector using the formula E = [S [i] + S [j]]. S[i]とS[j]との合計によって示されるSベクトル内の位置は、暗号化ストリームの次のバイトを含む。 Location within the S-vector represented S [i] and the sum of S [j] contains the next byte of the encryption stream. 送信器において、暗号ストリームの次のバイトを計算するために、暗号化ストリームの次のバイトが用いられる。 At the transmitter, in order to calculate the next byte of the encryption stream, the next byte of the encryption stream is used. 暗号化ストリームにおける次のバイトは、パケットペイロードにおける次の平文バイトと排他的論理和(XOR)をとる。 The next byte in the encryption stream is taken as the next plaintext byte in the packet payload an exclusive OR (XOR).
【0040】 [0040]
受信器において、受信された次の暗号文バイトは、次に受信された暗号文バイトが次に計算された暗号文バイトと排他的論理和をとることによって復号化され、次の平文バイトを回復する。 At the receiver, the received next ciphertext byte is decrypted by the next received ciphertext byte then the computed ciphertext bytes XORing recovery the next plaintext byte to. 本効率的なパケット暗号化方法における次のステップは、第1のパケットペイロードにおける最後の平文が暗号化されているかどうかを決定することである。 The next step in the present efficient packet encryption method is that the last plaintext in the first packet payload to determine whether it is encrypted.
【0041】 [0041]
次のパケット内のすべての連続する平文バイトが暗号化されていると、パケットシーケンスナンバーはインクリメントされ、方法は出発点に戻り、次の連続的パケットシーケンスナンバーから変数iおよびjについての新しい値を計算する。 When all successive plaintext bytes within the next packet have been encrypted, the packet sequence number is incremented, the method returns to the starting point, the new values ​​for variables i and j from the next successive packet sequence number calculate. 最初に生成されたSベクトルは、すべての連続的パケットのために用いられる。 First generated S-vector is used for all successive packets.
【0042】 [0042]
本効率的なパケット暗号化方法の第1の利点は、パケット毎の処理時間が低減されることである。 The first advantage of the present efficient packet encryption method is that the processing time of each packet is reduced. 連続的パケットに同じSベクトルを用いることは、平文ストリームを暗号化または暗号文ストリームを復号化するパケット毎の処理時間を低減し、本効率的なパケット暗号化方法を、上述のWEP方法等の従来の暗号化方法よりも効率的にする。 Using the same S-vector for continuous packet reduces the processing time of each packet to decrypt the encrypted or ciphertext stream plaintext stream, the present efficient packet encryption method, a WEP method such described above to efficiently than conventional encryption methods. 本効率的なパケット暗号化方法の第2の利点は、この方法がWEPを安全でなくする同じ攻撃を受けないことである。 A second advantage of the present efficient packet encryption method, this method is not subject to the same attack that unsafe the WEP.
【0043】 [0043]
本効率的なパケット暗号化方法の第3の利点は、この方法が、パケットが紛失および/または狂った順序で受信される状態において、容易に再同期化するように設計されることである。 A third advantage of the present efficient packet encryption method, this method is that the in a state where the packet is received by the lost and / or crazy order is designed to easily resynchronize. 本効率的なパケット暗号化方法は、各パケットシーケンスナンバーを用いて、変数iおよびjの初期値を選択し、連続的パケットのパケットシーケンスナンバーをインクリメントする。 The present efficient packet encryption method uses each packet sequence number, select the initial value of variables i and j, and increments the packet sequence number of successive packets. RC4は、シーケンスナンバーを用いず、従って、受信器は、暗号ストリームの最初からバイトをカウントしなければならない。 RC4 does not use sequence numbers, therefore, the receiver has to count from the beginning byte of the cipher stream.
【0044】 [0044]
シーケンスナンバーを用いて変数iおよび変数jを初期化することは、次の値を予測可能にする。 Initializing a variable i and the variable j using the sequence number allows predicting the next value. 変数iの初期値の計算が、変数iおよびjの値を決定する予測可能性を排除するとき、第3の変数S[j]を注入することは、本効率的なパケット暗号化方法をより安全にする。 Calculation of the initial value of the variable i, when eliminating the predictability of determining the values ​​of variables i and j, injecting a third variable S [j] is more the present efficient packet encryption method to safety. S[r]を計算の中に注入することは、パケット暗号化ストリームが、頻繁に反復しない暗号化ストリームを生成し、ハッカーに対するさらなる保護を提供する。 Injecting S [r] into the calculation, packet encryption stream, to generate a frequently repeated not encrypted stream to provide additional protection against hackers. 同様に、バイトシーケンスナンバーkは、暗号化ストリームの断片が長いシーケンスにわたるどこかで反復する尤度を低減するために注入される。 Likewise, byte sequence number k is injected to reduce the likelihood that a fragment of the encryption stream repeats somewhere over a long sequence.
【0045】 [0045]
(詳細な説明) (Detailed description)
上述の、および記載された請求項により定義された効率的パケット暗号化方法は、添付の図面と関連付けて読まれるべきである以下の詳細な説明を参照することによって、より良好に理解され得る。 Above, and the described defined efficient packet encryption method by the claims, by reference to the following detailed description which should be read in conjunction with the accompanying drawings, may be better understood. 好適な実施形態の本詳細な説明は、記載された請求項を限定することを意図しないが、その特定の例示として利用される。 This detailed description of the preferred embodiment, is not intended to limit the described claims, is used as the specific example. さらに、本明細書中に用いられる語法および用語は、説明する目的で用いられ、限定する目的で用いられるのではない。 Further, the phraseology and terminology employed herein is used for the purpose of illustration and are not to be used for the purpose of limitation.
【0046】 [0046]
有線および無線の両方のパケット交換において、ペイロード平文のパケットは、ネットワークを介してソースから宛先に伝送される。 In wired and wireless both packet switching, packet payload plaintext are transmitted from a source to a destination via a network. パケットは、パケット組立て器/分解器(Packet Assembler/Disassembler)により、ペイロードデータの個々のパケットに組立ておよび分解される。 Packet, the packet assembly unit / decomposer (Packet Assembler / Disassembler), are assembled and decomposed into individual packets of payload data. 各パケットは、一意に定まる識別番号、すなわちシーケンスナンバーを有し、各パケットは、3つの基本要素、すなわち、ヘッダ、ペイロード、および任意にトレイラを含む。 Each packet, uniquely determined identification number, i.e. having a sequence number, each packet includes three basic elements, namely, header, payload, and optionally a trailer. ヘッダは、シーケンスナンバー、同期ビット、宛先アドレス、ソースアドレス、パケット長さといった制御情報(control information)を含む。 The header includes a sequence number, synchronizing bits, destination address, source address, control information such as the packet length a (control information). ペイロードは、伝送される平文であり、トレイラはパケットフラグの端ならびに誤り検出ビットおよび誤り訂正ビットを含む。 The payload is the plaintext to be transmitted, the trailer includes an end and error detection bits and error correction bits packet flag.
【0047】 [0047]
【発明の実施の形態】 DETAILED DESCRIPTION OF THE INVENTION
(パケット交換−図1) (Packet switching - Figure 1)
図1を参照して、パケット交換ネットワーク100上での伝送のために、単一メッセージ、またはデータストリーム110が「パケット」に解体される。 Referring to FIG. 1, for transmission on a packet switched network 100, a single message or data stream 110, is disassembled into "packets". それぞれ1〜4で表示される各パケット112、114、116および118は、ネットワーク100を介して利用可能なノード120、122、124、126、128および130を通って宛先に移動し、帯域幅が伝送のために利用可能になると、ノードからノードへ伝送される。 Each packet 112, 114, 116 and 118 which are each represented in 1-4 via the network 100 through the available nodes 120 to 128 and 130 to move to the destination, bandwidth becomes available for transmission, are transmitted from node to node. 宛先ノード130において、パケット112、114、116および118は、もとの連続したメッセージまたはストリームの中に組立て直される。 At the destination node 130, packets 112, 114, 116 and 118 are reassembled into the original contiguous message or stream. パケットは、異なったルートをたどるネットワーク100を介して移動するので、パケットは、順序が狂った状態で宛先130に到着することがよくある。 Packets, since different move through the network 100 following the route, the packet is often arrive at destination 130 in a state in which out-of-sequence. 他のパケットは、ネットワーク内で紛失され得る。 Other packets may be lost in the network. 紛失したパケットの伝送をリクエストし、パケットを元の連続したメッセージに組立て直すために、宛先においてさらなる処理時間が必要とされる。 Requesting the transmission of lost packets, to reassemble packets into the original contiguous message, it is required additional processing time at the destination. 多くの場合、紛失したパケットの再伝送は、適時に達成され得ない。 In many cases, retransmission of lost packets, can not be achieved in a timely manner. そのために、紛失したパケットは回復不可能である。 To that end, the lost packet is not recoverable.
【0048】 [0048]
パケット交換の主な特徴は、伝送リンクが必要に応じて共有される方法である。 The main feature of packet switching is a method that is shared as needed transmission link. 各パケットは適切なリンクが利用可能になるとすぐに伝送され、送信するものを何も有さないソースにより保持されるリンクはない。 Each packet appropriate link is transmitted as soon as it is available, no link is held by a source that does not have anything what to send. ソースノード120が第1のパケット112を伝送した後、このソースノードは、残りのパケットを送信するために同じプロセスをたどらなければならない。 After the source node 120 transmits a first packet 112, the source node must follow the same process to send the remaining packets. 各パケットは、ソースノード120と宛先ノード130との間の異なったルートを進み得、各パケットは、シーケンスナンバーを有する。 Each packet may advance a different route between the source node 120 and destination node 130, each packet has a sequence number. 本実施例において、シーケンスナンバー1〜4が宛先ノード130で用いられ、パケットをもとの連続したメッセージ110に組立て直す。 In this example, sequence numbers 1 to 4 is used in the destination node 130, reassemble the packets to the original series of messages 110. 例えば、第1のパケット112は、ソースノード120から第1のノード122へと移動する。 For example, first packet 112 moves from source node 120 to first node 122. 第2のパケット114はソースノード120を去り、第1のノード122へ移動するが、他方、第1のパケット112は、宛先ノード130へと移動し、宛先ノード130に最初に到着し、順序正しく到着する。 The second packet 114 leaves source node 120, but moves to the first node 122, while the first packet 112 moves to destination node 130, initially arrives at the destination node 130, an orderly arrive. 第3のパケット116が第1のノード122から宛先ノード130に移動すると、第3のパケット116はソースノード120を去り、第3のノード126に移動する。 When the third packet 116 moves from first node 122 to destination node 130, third packet 116 leaves source node 120 and moves to third node 126. 最後のパケット118は、ソースノード120から第1のノード122に移動するが、他方、第3のパケット116は宛先ノード130に移動する。 Last packet 118 is moved from the source node 120 to first node 122, while third packet 116 moves to destination node 130. 第3のパケットのルート116(the route third packet)116は、ルートが最後のパケット118よりも伝搬時間が長いので、最後のパケット118および第3のパケット116は、宛先ノード130において乱れた順序で到着し得る。 Route 116 of the third packet (the route third packet) 116, since the route is long propagation time than the last packet 118, last packet 118 and third packet 116, in the order in which turbulence in the destination node 130 It can arrive.
【0049】 [0049]
同様に、ネットワーク上の別のノードがパケットの順序を狂わせて伝送する場合、このパケットはソースノード120によって伝送されるパケットのうちの1つと衝突し、結果としてパケットが紛失され得る。 Similarly, if another node on the network for transmission upset the order of packets, the packet is one to collision among the packets transmitted by the source node 120, the packet as a result can be lost. 従って、宛先ノード130は、4つのパケットのうちの3つを受信する。 Accordingly, the destination node 130 receives three of the four packets. プロセッサが宛先ノード130においてパケットを組立て直すと、プロセッサは、パケットが行方不明であることを理解する。 When the processor reassemble the packets at the destination node 130, the processor will understand that a packet is missing. 上述のRC4およびWEP暗号化方法を用いて、宛先ノード130は、狂った順序で受信されたパケットまたは紛失パケットの後に受信された任意のパケットを復号することはできない。 Using RC4 and WEP encryption methods described above, the destination node 130 can not decode any packet received after the received packet or lost packets in crazy order.
【0050】 [0050]
暗号化スキームは、2つの一般的なカテゴリーに分類される。 Encryption schemes fall into two general categories. すなわち、対称暗号化方式および非対称暗号化方式である。 In other words, a symmetric encryption system and asymmetric encryption method. 例えば、Data Encryption Standard(DES)に属するような対称暗号化方式において、発信者がデータを暗号化するため(すなわち、平文を暗号文に変換する)、および受信者が同じデータを復号するために(すなわち、暗号文をもとの平文に変換する)同じ鍵が用いられる。 For example, in a symmetric encryption scheme, such as belonging to the Data Encryption Standard (DES), since the caller to encrypt the data (i.e., it converts the plaintext to ciphertext) and to the recipient to decrypt the same data (i.e., to convert the ciphertext to the original plaintext) same key is used. 本効率的なパケット暗号化方法は対称型である。 The present efficient packet encryption method is symmetric.
【0051】 [0051]
(Sベクトルの生成 図2) (Generation Figure 2 of the S-vector)
本効率的なパケット暗号化方法は、標準的RC4法を利用して、開始Sベクトルを生成する。 The present efficient packet encryption method utilizes the standard RC4 method to generate a starting S-vector. 図2を参照して、送信器および受信器は、ブロック210における平文を暗号化/復号化するために秘密鍵が用いられることに同意する。 Referring to FIG. 2, the transmitter and receiver agree that the private key is used to encrypt / decrypt plaintext in block 210. 送信器は、秘密鍵をランダムに生成し得、その秘密鍵を第1のパケットヘッダにおける受信器に伝送するか、または2つのデバイスが呼出しセットアップ(call set−up)中に特定の鍵を用いることに同意し得る。 The transmitter generates a random secret key to obtain, using a specific key in or to transmit the secret key to the receiver in the first packet header or the two devices call setup, (call set-up) in particular they can agree. 図示するために、本効率的暗号化方法は、256の構成要素のベクトルを含んで記載および図示されるが、他の長さのベクトルで代用され得る。 To illustrate, the present efficient encryption method has been described and illustrated comprising a vector of the components of 256 may be replaced by a vector of other lengths.
【0052】 [0052]
ブロック220において、秘密鍵は反復され、必要ならば、256の構成要素のKベクトルを秘密鍵のバイトで逐次的に満たす。 In block 220, the secret key is repeated, if necessary, successively meet the K vector components of the 256 bytes of the secret key. 256の構成要素のKベクトル内の各バイトの値は256よりも小さい。 The value of each byte in the K vector components 256 is less than 256. ブロック230において、256の構成要素のSベクトルは初期化され、0〜255のすべてのiに関してS[i]=iになるようにする。 In block 230, S vector components 256 is initialized, to be the S [i] = i for all i between 0 and 255. 標準RC4法を用いて、ブロック240において、初期Sベクトルは、Kベクトルを用いてスクランブルがかけられる。 Using standard RC4 method, in block 240, the initial S-vector is scrambled using a K vector. すべての算術演算にモジューロ256が実行される。 Modulo 256 is executed to all arithmetic operations.
【0053】 [0053]
ステップ1 Step 1
秘密鍵を受信し、この秘密鍵を用いてKベクトルを生成する標準暗号化方法に従ってSベクトルを初期化するただし、すべての0≦i<255についてS[i]=iになるようにするKベクトルを用いて初期Sベクトルにスクランブルをかけるここでj=0 Receiving a secret key, so that although initialize the S-vector, for all 0 ≦ i <255 becomes S [i] = i according to standard encryption method for generating K vector using the secret key K scramble the initial S-vector using vector where j = 0
i=0〜255であるためj=j+S[i]+K[i] Since it is i = 0~255 j = j + S [i] + K [i]
S[i]とS[j]とを入れ替えるここで、S[i]、S[j]およびK[i]の値は、SベクトルおよびKベクトルから導き出される。 Here S [i] and replacing the S [j], a value of S [i], S [j] and K [i] are derived from the S-vector and K vector. 初期Sベクトルが生成された後、平文のパケットを暗号化するための変数が計算される。 After the initial S-vector has been generated, variables for encrypting packets of plaintext are calculated.
【0054】 [0054]
(変数の計算−図3) (Calculation of variable - Figure 3)
パケット平文を暗号化するために用いられる変数はiおよびjである。 Variables used for encrypting the packet plaintext are i and j. iおよびjが最初にゼロにセットされ、暗号化計算において平文ストリーム内の平文の次のバイトについてインクリメントされるRC4、または各パケットの開始においてRC4が再初期化されるWEP法と異なって、本効率的なパケット暗号化法は、シーケンスナンバーを用いて、各パケットについて暗号化処理を開始する。 i and j are initially set to zero, unlike the WEP method RC4 is incremented for the next byte of plaintext within the plaintext stream RC4 or at the beginning of each packet, are re-initialized in the encryption calculation, the efficient packet encryption method uses the sequence number to start the encryption process for each packet. 初期シーケンスナンバーは、ランダムに生成されたシーケンスナンバーであり得る。 The initial sequence number may be a sequence number that is randomly generated. シーケンスナンバーはインクリメントされ、次のシーケンスナンバーは各次のパケットを暗号化するために用いられる。 Sequence number is incremented, the next sequence number is used to encrypt each next packet. 図2におけるフローチャートを参照して、ロールオーバカウンタrは、最初、ブロック310においてゼロにリセットされ、初期シーケンスナンバーは、第1のパケットについて、ブロック320においてランダムに生成される。 With reference to the flow chart in FIG. 2, the rollover counter r is first reset to zero in block 310, the initial sequence number for the first packet, is randomly generated in block 320.
【0055】 [0055]
ステップ2 Step 2
初期シーケンスナンバーをセット(連続的パケットのシーケンスナンバーをインクリメントする) Set an initial sequence number (increment sequence number for successive packets)
初期ロールオーバカウンタr=0をセット(シーケンスナンバー=0の場合、r、モジューロ256をインクリメントする) Set initial rollover counter r = 0 (the case of sequence number = 0, and increments r, modulo 256)
バイトシーケンスナンバーk=0をリセットロールオーバカウンタrの値は、暗号化ストリームを生成するために利用される変数jを計算するときに用いられる。 The value of the reset rollover counter r byte sequence number k = 0 is used when calculating the variable j is used to generate the encryption stream. 同様に、パケット間で同じ暗号化シーケンスが用いられることを回避するために、暗号化ストリームを生成する際に用いられる変数iを計算するためにバイトシーケンスナンバーkが用いられる。 Similarly, in order to prevent the same encryption sequence is used between packets, byte sequence number k is used to calculate the variable i used in generating the encryption stream.
【0056】 [0056]
シーケンスナンバーは、少なくとも2つのバイト、すなわち下位バイトおよびそのバイトの次のバイトを含む。 Sequence number, at least two bytes, i.e., a lower byte and the next byte of the byte. シーケンスナンバーが2つより多いバイトを含む場合、超過した高位部分がロールオーバカウンタrとして(モジューロ256)が用いられる。 If the sequence number contains more than two bytes, the excess high-order part as the rollover counter r is (modulo 256) are used. 変数jは、ブロック330におけるシーケンスナンバーの高位バイトと等しくなるように初期化される。 Variable j is initialized to be equal to the high byte of the sequence number in the block 330. 変数iは、ブロック330において、シーケンスナンバーの下位バイトがS[j]と排他的論理和をとるように計算される。 Variable i in block 330, the low byte of the sequence number is calculated as the exclusive OR and S [j].
【0057】 [0057]
ステップ3 Step 3
変数iおよびjをセットするj=高位シーケンスナンバーi=(下位シーケンスナンバー)+S[j} It sets the variable i and j j = high order sequence number i = (low order sequence number) + S [j}
ここで、S[j]は、前に生成されたSベクトルから導き出される。 Here, S [j] is derived from the S-vector that is generated before. シーケンスナンバーを用いて、変数iおよびjの初期値を設定することは、パケットが受信された順序に関わらず、受信器においてパケットの復号化を組立て直すか、または同期化する方法を提供する。 Using the sequence number, by setting the initial value of variables i and j, regardless of the order in which the packet is received, or reassemble the decoded packet at the receiver, or to provide a method for synchronizing.
【0058】 [0058]
平文パケットの暗号化においてシーケンスナンバーのみを用いることは、変数iおよびjの次の値を予測可能にし、従って、暗号化法は安全でない。 Using only sequence number in the encryption of plaintext packets allows predicting the next value of variables i and j, therefore, the encryption method is insecure. 公知の平文攻撃を用いて、一度いくつかのパケットの復号化が成功すると、攻撃者はSベクトルの成分に関する情報を導き出すことができる。 Using a known plaintext attack, once decoding of some packet is successful, the attacker can deduce information about the components of the S-vector. この攻撃を用いて、一度Sベクトル成分に関する十分な情報が導き出されると、残りのSベクトルを決定し、暗号文を復号化することが可能である。 With this attack, once enough information about S-vector component is derived, to determine the remaining S-vector, it is possible to decrypt the ciphertext. 変数S[j]をブロック330における変数iの初期値の計算の中に注入することは、変数iの予測可能性を低減する。 Injecting a variable S [j] into the calculation of the initial value of the variable i in block 330 reduces the predictability of variable i. なぜなら、S[j]の値はSベクトルから導き出されるからである。 Since the value of S [j] is because derived from the S-vector. 従って、Sベクトルに対する特定の公知の平文攻撃を防止する。 Therefore, to prevent certain known-plaintext attack against the S-vector. 下位シーケンスナンバーがS[j]と排他的論理和をとることは、公知の平文攻撃から獲得された任意の関係が非線形であることを保証する。 The lower sequence number XORing with S [j] insures that any relationship obtained from a known plaintext attack is nonlinear. 従って、本効率的なパケット暗号化法は、公知の平文攻撃に対してより安全である。 Thus, the present efficient packet encryption method is more secure against known plaintext attacks.
【0059】 [0059]
(連続的パケット変数の計算) (Calculation of the continuous packet variable)
本効率的なパケット暗号化法のセキュリティをさらに高めるために、変数iおよびjは、平文の各次のバイトについて、第2の計算を用いてブロック340においてさらに計算される。 To further enhance the security of the present efficient packet encryption method, variables i and j, for each subsequent byte of plaintext, are further calculated in block 340 using a second calculation.
【0060】 [0060]
ステップ4 Step 4
i=i+k i = i + k
j=j+S[i]+S[r]を用いて変数iおよびjを計算するここで、rは、ロールオーバカウンタの値であり、S[i」およびS[r]は、Sベクトルから導き出され、kはパケット内のバイトシーケンスナンバーである。 Here calculating the j = j + S [i] + S [r] variables i and j using, r is a value of the rollover counter, S [i "and S [r] are derived from the S-vector , k is the byte sequence number in the packet. 上述のように、1実施形態において、暗号化法が初期化されると、ロールオーバカウンタはブロック320においてゼロにセットされる。 As described above, in one embodiment, the encryption method is initialized, the rollover counter is set to zero in block 320. 本実施形態におけるロールオーバカウンタはインクリメントされ、シーケンスナンバーはすべての1が0にインクリメントする。 Rollover counter in this embodiment is incremented, the sequence number is all 1 increments to zero. 暗号化法が初期化されると、シーケンスナンバーはロールオーバカウンタと置き替えられ得、ロールオーバカウンタをインクリメントすることに関する上述のようにインクリメントされる。 When the encryption method is initialized, the sequence number is incremented as described above relates to the incrementing obtained, the rollover counter is replaced with rollover counter.
【0061】 [0061]
1実施形態において、第2の変数iは、前の繰返しからの第2の変数と、第4の変数kとの合計として計算し直される。 In one embodiment, the second variable i, and a second variable from the previous iteration, is re-calculated as a sum of the fourth variable k. ここで、kは、パケットペイロードバイトシーケンスナンバーである。 Here, k is the packet payload byte sequence number. 各パケットの開始において、kはリセットされ、kはパケット内の平文の各連続的バイトについてインクリメントされる。 At the start of each packet, k is reset, k is incremented for each successive byte of plaintext within the packet. 第4の変数kは、第2の変数iを計算する際に用いられ、本効率的なパケット暗号化法が利用される場合、異なったパケットにおいて暗号化ストリームの部分が再利用される可能性を低減する。 Fourth variable k is used in calculating the second variable i, if present efficient packet encryption method is utilized, possibly part of the encrypted stream in different packets are reused to reduce. 第1の変数jは、前の繰返しからの第1の変数と第3の変数S[i]と第4の変数S[r]との合計として計算し直される。 The first variable j is recalculated as the sum of the first variable and the third variable S from the previous iteration [i] and the fourth variable S [r]. ここで、S[i]およびS[r]は、Sベクトルから導き出される。 Here, S [i] and S [r] are derived from the S-vector. 第2の変数iが、パケット内の各次の平文バイトについて1ずつインクリメントされるにすぎないが、他方、1つのパケットに対して用いられる暗号化ストリームの部分は、任意の他のパケットのために再利用される。 Second variable i, but only be incremented by one for each subsequent plaintext byte within the packet, the other, part of the encryption stream to be used for one packet, for any other packet It is reused. 従って、バイトシーケンスナンバーを用いて、パケット内の平文の連続的バイトの変数iを計算し直すことは、ペイロードの反復が2 256バイト未満のペイロードの反復を防止し、従って、本効率的なパケット暗号化法にさらなる安全性を付加する。 Thus, using byte sequence number, to re-calculate the variable i successive plaintext bytes in the packet, repeating the payload to prevent repetition of the payload of less than 2 256 bytes, therefore, the present efficient packet adding additional safety encryption method.
【0062】 [0062]
次のパケットについて、必要に応じて、ブロック340において、S[r]を暗号化計算の中に注入し、ブロック320において、rの値をインクリメントすることは、暗号化ストリームが反復する頻度を低減する。 For the next packet, if necessary, at block 340, by injecting the S [r] into the encryption calculation in block 320, incrementing the value of r, reduce the frequency of encryption stream repeats to. 連続的j変数を計算する際に、S[r]を用いずに、毎秒100個のパケットを暗号化することは、暗号化ストリームを11分毎に反復させる。 When calculating the continuous j variables, without using the S [r], encrypting per second 100 packets causes repeated encrypted stream every 11 minutes. S[r]をパケット内の各バイトの変数jの計算の中に注入し、必要に応じて、rを次のパケット毎にインクリメントして、暗号化ストリームは約46時間毎に繰返す。 Injecting S [r] into the calculation of each byte of the variable j in the packet, if necessary, by increments r for each next packet, the encryption stream repeats approximately every 46 hours. 従って、さらなるロールオーバカウンタの変数rを本効率的なパケット暗号化法の中に注入することは、ハッカーに対するさらなるセキュリティを提供する。 Therefore, injecting a variable r additional rollover counter in the present efficient packet encryption method provides additional security against hackers.
【0063】 [0063]
変数iおよびjの計算が、ロールオーバカウンタまたはシーケンスナンバーから直接的に得られた変数rを用いて説明されたが、他方、r値をセットする他の方法が代用され得る。 Calculation of variables i and j have been described using a variable r that directly obtained from rollover counter or the sequence number, the other, other methods of setting the r value can be substituted. r値を生成する他の公知の方法は、開始r値をランダムに選択し、r値をヘッダの部分として配信することを含むか、またはrの値はRTP以外のプロトコルから導き出され得る。 Another known method of generating r value, the starting r value chosen randomly, or include delivering r value as part of the header or the value of r, it can be derived from a non-RTP protocol. 同様に、カウンタを更新する代替的方法は、シーケンスナンバーがすべて1のシリーズからすべて0のシリーズにインクリメントする場合、カウンタをインクリメントすることと置き替えられ得る。 Similarly, alternative methods of updating the counter, when incremented to a series of all the series of all sequence number 1 0, may be replaced with incrementing the counter. ブロック340において生成された変数iおよびjを用いて、ブロック350において暗号化バイトが計算される。 With variables i and j generated in block 340, the encrypted byte is calculated in block 350.
【0064】 [0064]
(第1の暗号化および暗号文バイトの計算) (First encryption and calculation of the encrypted bytes)
暗号化ストリームの第1のバイトは、前のステップ4において計算された変数iおよびjの値を用いてブロック350において計算される。 The first byte of the encryption stream is calculated in block 350 using the value of the calculated variables i and j in the previous step 4.
【0065】 [0065]
ステップ5 Step 5
E[k]=S[S[i]+S[j]]を用いて、パケット暗号化ストリームにおける次のバイトを計算するここで、S[i]およびS[j]のバイナリ値はSベクトルから導き出される。 E [k] = with S [S [i] + S [j]], where calculating the next byte in the packet encryption stream, the binary value of S [i] and S [j] from the S-vector It is derived. S[i]とS[j]との合計により示されるSベクトル内の位置は、暗号化ストリームの次のバイトを含む。 Location within the S-vector represented S [i] and the sum of S [j] contains the next byte of the encryption stream. 暗号化ストリームの次のバイトを用いて、暗号ストリームの次のバイトがブロック360において計算される。 Using the next byte of the encryption stream, the next byte of the encryption stream is calculated in block 360.
【0066】 [0066]
選択的実施形態において、各連続的パケットの暗号化が行なわれる間、Sベクトルはブロック380において並べ替えられるか、またはスクランブルがかけられる。 In alternative embodiment, while the encryption of each successive packet is performed, S vectors or be sorted at block 380, or scrambled. 本実施形態において、パケット内の平文の第1のバイトを暗号化する前に、Sベクトルのコピーが保存される。 In this embodiment, prior to encrypting the first byte of plaintext within the packet, a copy of the S-vector is saved. 平文の各連続的バイトについて、第1の変数jおよび第2の変数iによって示されるSベクトル内の値は入れ替えられる。 For each successive byte of plaintext, the value in the S vector represented by the first variable j and the second variable i are swapped. 平文の各連続的バイトのSベクトル内の値を入れ替えることによって、Sベクトルは時間の経過とともに並べ換えられ、長い平文ペイロードについて生成された暗号化ストリームがパケット内で反復する確率が低い。 By replacing values ​​in the S-vector for each successive byte of plaintext, the S-vector is permuted over time, is low probability of repetition in the packet encryption stream generated for long plaintext payloads. パケット内の平文のすべてのバイトが暗号化された場合、初期Sベクトルは、次のパケットの暗号化または復号化に用いるために復元される。 If all bytes of the plaintext within the packet have been encrypted, the initial S-vector is restored for use in encryption or decryption of the next packet.
【0067】 [0067]
送信器および受信器の両方は、ステップ1〜ステップ5に従い、同じ暗号化ストリームを生成する。 Both transmitter and receiver in accordance with Step 1 to Step 5, to generate the same encryption stream. 送信器において、暗号化ストリームが用いられ、暗号文ストリームを生成する。 In the transmitter, the encryption stream is used to generate a ciphertext stream. 受信器において、暗号文のストリームが受信され、暗号化ストリームは、暗号文を解読し平文を回復するために用いられる。 At the receiver, the stream of ciphertext is received, encrypted stream is used to recover the plain text to decrypt the ciphertext.
【0068】 [0068]
ステップ6 Step 6
送信器:C[k]=E+P[k]ただしP[k]=平文のk番目のバイトを用いて、次のバイト暗号文ストリームを計算する受信器:P[k]=E+C[k] Transmitter: C [k] = E + P [k] However P [k] = with k-th bytes of the plaintext, the receiver calculates the next byte ciphertext stream: P [k] = E + C [k]
を用いて、次のバイト平文ストリームを計算するここで、P[k]は、パケットペイロードにおける平文の次のバイトである。 With, here to calculate the next byte plaintext stream, P [k] is the next byte of plaintext in the packet payload. ステップ4において、送信器において、暗号化ストリームにおける次のバイトは、パケットペイロードにおける次の平文バイトと排他的論理和をとり、次のバイト暗号文を生成する。 In step 4, at the transmitter, the next byte in the encryption stream is exclusive-ORed with the next plaintext byte in the packet payload to generate a next byte ciphertext.
【0069】 [0069]
ステップ7 Step 7
バイトシーケンスをインクリメントするk=k+1 k = k + 1 to increment the byte sequence
平文の次のバイトがブロック360において暗号文に変換された後、バイトシーケンスkは、ブロック390において1つずつインクリメントされる。 After the next byte of plaintext has been converted to ciphertext in block 360, byte sequence k is incremented by one at block 390. 本効率的なパケット暗号化方法における次のステップは、第1のパケットペイロードにおける最後の平文バイトが暗号化されたかどうかをブロック370において決定することである。 The next step in the present efficient packet encryption method is that the last plaintext byte in the first packet payload is determined at block 370 whether encrypted. パケットペイロード内の平文の次のバイトが暗号化されていない場合、この方法はペイロードの各連続的バイトに関するステップ3〜ステップ6を繰返す。 If the next byte of plaintext within the packet payload has not been encrypted, the method repeats steps 3 6 for each successive byte of the payload. ペイロード平文ストリーム内のすべてのバイトが暗号化/復号化されると、この方法は次のパケットについてのステップ2に戻る。 When all bytes within the payload plaintext stream is encrypted / decrypted, the method returns to step 2 for the next packet.
【0070】 [0070]
ブロック230および240において生成されたSベクトルは、ブロック330〜350において、伝送されるべき平文の各ペイロードについてすべての変数を計算するために用いられる。 S-vector generated in blocks 230 and 240, in block 330 to 350, is used to compute all variables for each payload of plaintext to be transmitted. Sベクトルが各パケットについて再計算されるWEPと異なって、本効率的なパケット暗号化方法において、Sベクトルは、ペイロード平文の現在のストリームについて再初期化されない。 It differs from the WEP where the S-vector is re-calculated for each packet, in the present efficient packet encryption method, the S-vector is not reinitialized for the present stream of payload plaintext. Sベクトル成分の任意の入れ替えがインクリメントされる場合、このSベクトルは復元され得ない。 If any of the replacement of the S-vector components are incremented, the S vector can not be restored. 送信器がペイロード平文の新しいストリームを発信する準備を整えるまで、Sベクトルは計算し直されない。 Until ready to transmitter transmits a new stream of payload plaintext, S vectors is not recalculated.
【0071】 [0071]
本効率的なパケット暗号化方法は、平文データの連続的パケットを暗号化および復号化する計算時間を低減する。 The present efficient packet encryption method reduces the computation time to encrypt and decrypt successive packets of plaintext data. Sベクトルが生成され、平文の連続的パケットを暗号化するために用いられ、従って、パケット毎の暗号化/復号化時間を低減する。 S vector is generated, used to encrypt successive packets of plaintext, thus reducing the encryption / decryption time for each packet. 連続的パケットを暗号化する式は、変数の予測可能性を排除するために注入された第3の変数を用いるパケットシーケンスナンバーの使用を含み、従って、本効率的なパケット暗号化法をより安全にする。 Wherein encrypting the continuous packet includes the use of a third packet sequence number using a variable injected to eliminate predictability of variables, therefore, the present efficient packet encryption method more secure to. 第4の変数は、計算の中に注入され、頻繁に反復されない暗号化ストリームを生成し、ハッカーに対するさらなるセキュリティを提供する。 The fourth variable is injected into the calculations to generate a frequently repeated non encrypted stream, it provides additional security against hackers. 平文の長いペイロードを有するパケットを暗号化するために、パケットバイトシーケンスナンバーが用いられ、特定のパケット内で反復する確率が低い暗号化ストリームを生成する。 To encrypt a packet having a long payload of plaintext packet byte sequence number is used, the probability of repeated within a particular packet to generate a low encryption stream.
【0072】 [0072]
本効率的なパケット暗号化法を利用することは、セキュリティのレベルを益々向上させる一方で、ペイロード平文のストリーム全体の伝送を成功させるための計算時間を低減する。 Utilizing the present efficient packet encryption method, while for more improving the level of security, to reduce the computational time for successful transmission of the entire stream of payload plaintext. パケット毎の再計算を排除することは、各パケットの新しいSベクトルを生成する計算ステップを排除する。 Eliminating the recalculation of each packet eliminates the computational steps for generating a new S-vector for each packet.
【0073】 [0073]
本効率的なパケット暗号化法を用いることは、時間を節約するためにセキュリティを犠牲にしない。 Using the present efficient packet encryption method does not sacrifice security to save time. その代わりに、計算工程にさらなる変数、変数iを注入してセキュリティを向上させる。 Alternatively, a further variable, by injecting a variable i increased security in the calculation process. 同様に、変数jを計算するために用いられるカウンタを含むことは、反復頻度が低い暗号化ストリームを生成することによって、本効率的なパケット暗号化法のセキュリティをさらに向上させる。 Likewise, it includes a counter which is used to calculate the variable j is by repetition rates to generate the low encrypted stream, further enhancing the security of the present efficient packet encryption method.
【0074】 [0074]
代替的実施形態に関して、当業者は、本効率的なパケット暗号化法が初期シーケンスナンバーおよび変数rの初期値を生成する種々の方法を用いて生成され得ることを理解する。 Respect alternative embodiments, those skilled in the art will appreciate that the present efficient packet encryption method can be generated using a variety of methods for generating an initial value of the initial sequence number and a variable r. 本効率的なパケット暗号化法が、第1のランダムシーケンスナンバーを生成し、ロールオーバカウンタrをゼロにセットすることが説明および図示されたが、代替的方法が用いられてもよい。 The present efficient packet encryption method, generates a first random sequence number, rollover counter r It has been described and illustrated to be set to zero, may be is used alternative methods. 同様に、予め設定する効率的なパケット暗号化法は256の構成要素ベクトルを用いて図示および説明されたが、当業者は構成要素の代替的数を有するベクトルが代用され得ることを理解する。 Similarly, the efficient packet encryption method that preset has been shown and described with reference to components vector 256, those skilled in the art will appreciate that the vector having alternative numbers of components may be substituted.
【0075】 [0075]
上述の目的、目標および利点を完全に満たす効率的なパケット暗号化法が記載されたことは明らかである。 The above object, it is clear that the objectives and efficient packet encryption method that fully satisfies the advantages have been described. 効率的パケット暗号化法は、その特定の実施形態と関連付けて説明されたが、一方で、複数の代替案、改変および/または変形が上述の記載に照らして当業者によって考案され得る。 Efficient packet encryption method has been described in connection with specific embodiments thereof, while the plurality of alternatives, modifications and / or variations may be devised by those skilled in the art in light of the foregoing description. 従って、本記載は、添付の請求項の趣旨および範囲内に含まれる、すべてのそのような代替案、改変および変形を容認することが意図される。 Accordingly, this description is included within the spirit and scope of the appended claims, all such alternatives, it is intended to tolerate modifications and variations.
【0076】 [0076]
【発明の効果】 【Effect of the invention】
以上に説明したように、本発明の効率的なパケット暗号化方法は、秘密鍵を選択して、標準暗号化方法に従ってSベクトルを生成する工程と、シーケンスナンバーをセットする工程であって、該シーケンスナンバーは、第1の部分と第2の部分とを有する、工程と、該シーケンスナンバーの第1の部分として第1の変数をセットする工程と、該シーケンスナンバーの該第2の部分として第2の変数をセットする工程と、バイトシーケンスナンバーをセットする工程と、該第2の変数と該バイトシーケンスナンバーとの合計として第3の変数を計算する工程と、該バイトシーケンスナンバーを1つずつインクリメントする工程と、該第1の変数に、該第3の変数により示されるSベクトル内の値を加算することにより、第4の変数を計算する工 As described above, efficient packet encryption method of the present invention is to select a private key, generating a S-vector following standard encryption method, comprising the steps of: setting a sequence number, the sequence number includes a first portion and a second portion, a step, a first portion as a step of setting a first variable, the second portion of the sequence number of the sequence number first a step of setting the second variable, the step of setting a byte sequence number, and calculating a third variable as the sum of the second variable and the byte sequence number, one by one the byte sequence number a step of incrementing, the first variable, by adding the value in the S vector represented by the third variable, Engineering for calculating a fourth variable と、暗号化バイトを特定する工程であって、該Sベクトル内の該暗号化バイトの位置は、該第3の変数と該第4の変数によって示される該Sベクトル内の値との合計によって示される、工程と、該暗号化バイトは、平文の少なくとも1つのバイトと排他的論理和をとり、暗号文の少なくとも1つのバイトを生成する工程とを包含し、これにより、本願は、ペイロード平文を暗号化するため、およびペイロード暗号文を復号化するために必要とされる時間を増加させず、パケットの紛失またはパケット(単数または複数)が順序が狂って到着した後にそれを回復する能力を有する、効率的なパケット暗号化方法を提供することができる。 When, a step of identifying the encrypted byte position of dark Goka bytes in the S vector, the sum of the values ​​in the S vector represented by the third variable and said fourth variable It represented a step, dark Goka bytes, at least one byte of plaintext takes the exclusive OR encompasses the step of generating at least one byte of ciphertext, thereby, the present application, the payload plaintext for encrypting, and without increasing the time required to decrypt the payload ciphertext, the ability to recover it after a lost or packet of the packet (s) have arrived out of sequence having, efficient packet encryption method can be provided.
【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS
【図1】図1は、パケット交換ネットワークにわたって伝送するためのペイロード平文のシーケンスを示す。 FIG. 1 shows a sequence of payload plaintext for transmission over a packet switched network.
【図2】図2は、標準的Sベクトルを生成する従来技術のRC4方法のフローチャートを示す。 Figure 2 shows a flow chart of RC4 prior art method for generating a standard S-vector.
【図3】図3は、本効率的なパケット暗号化方法のフローチャートを示す。 Figure 3 shows a flow chart of the present efficient packet encryption method.

Claims (15)

  1. 平文の少なくとも1つのバイトを暗号化することにより、暗号文の少なくとも1つのバイトを生成するパケット暗号化方法であって、 By encrypting at least one byte of plaintext, a packet encryption method for generating at least one byte of ciphertext,
    パケット暗号化方法は、 The packet encryption method,
    プロセッサが、秘密鍵を選択することにより、RC4暗号化方法に従うSベクトルを生成するステップと、 And step processor by selecting a secret key, to generate the S-vector according to the RC4 encryption method,
    該プロセッサが、シーケンスナンバーを設定するステップであって、該シーケンスナンバーは、第1の部分と第2の部分とを有する、 ステップと、 Said processor comprising: setting a sequence number, the sequence number includes a first portion and a second portion, comprising the steps,
    該プロセッサが、該シーケンスナンバーの該第1の部分として第1の変数を設定するステップと、 A step of the processor sets the first variable as the first portion of the sequence number,
    該プロセッサが、該シーケンスナンバーの該第2の部分として第2の変数を設定するステップと、 A step of the processor sets the second variable as second portion of the sequence number,
    該プロセッサが、バイトシーケンスナンバーを設定するステップと、 A step of the processor sets the byte sequence number,
    該プロセッサが、該第2の変数と該バイトシーケンスナンバーとの合計として第3の変数を計算するステップと、 Said processor calculating a third variable as the sum of the second variable and the byte sequence number,
    該プロセッサが、該バイトシーケンスナンバーを1つインクリメントするステップと、 It said processor incrementing one said byte sequence number,
    該プロセッサが、該第1の変数と、該第3の変数により示される該Sベクトル内の値とを所定の数を法として加算することにより、第4の変数を計算するステップと、 A step the processor is to calculate the said first variable, by adding the values in the S vector represented by the variables of the third predetermined number modulo the fourth variable,
    該プロセッサが、暗号化バイトを特定するステップであって、該Sベクトル内の該暗号化バイトの位置は、該第3の変数により示される該Sベクトル内の値と該第4の変数により示される該Sベクトル内の値との合計により示される、 ステップと、 Said processor, comprising the steps of identifying the encrypted byte position of dark Goka byte within the S-vector is indicated by the value and the fourth variable in the S vector represented by the third variable as indicated by the sum of the values in the S vector, the steps,
    該プロセッサが、該暗号化バイトと該平文の少なくとも1つのバイトとの排他的論理和をとることにより、該暗号文の少なくとも1つのバイトを生成するステップと を包含する、 パケット暗号化方法。 The processor, by taking the exclusive OR of the at least one byte of dark Goka bytes and plaintext, comprising the steps of generating at least one byte of dark ciphertext, packet encryption method.
  2. 前記第2の変数を設定するステップは、 Step of setting the second variable,
    前記プロセッサが、前記シーケンスナンバーの前記第2の部分と前記第1の変数により示される前記Sベクトル内の値との排他的論理和をとるステップを包含する、請求項1に記載のパケット暗号化方法。 Wherein the processor, wherein comprises the step of taking the exclusive OR of the value in the S vector the a second portion represented by the first variable, packet encryption of claim 1 of the sequence number Method.
  3. 前記第4の変数を計算するステップは、 Calculating a fourth variable,
    前記プロセッサが、カウンタに対して値を設定するステップと、 Wherein the processor, and setting a value for the counter,
    該プロセッサが、前記第1の変数と前記第3の変数により示される前記Sベクトル内の値と該カウンタにより示される該Sベクトル内の値とを合計するステップと をさらに包含する、請求項1に記載のパケット暗号化方法。 Said processor further comprises the step of summing the values within the S-vector indicated by the value and the counter in the S vector represented by the first variable and the third variable, claim 1 packet encryption method according to.
  4. 平文の1つ以上のパケットを暗号化するパケット暗号化方法であって、該平文の1つ以上のパケットは、該平文の複数のバイトを有し、 The packet encryption method for encrypting the one or more packets of plaintext, one or more packets of plaintext has a plurality of bytes of plaintext,
    パケット暗号化方法は、 The packet encryption method,
    プロセッサが、秘密鍵を取得するステップと、 And step processor, to retrieve the secret key,
    該プロセッサが、該秘密鍵を用いてSベクトルを生成するステップと、 Said processor generating a S-vector using the secret key,
    該平文の各連続的な1つ以上のパケットに対して、 For each successive one or more packets of plaintext,
    該プロセッサが、第1の部分と第2の部分とを有するシーケンスナンバーを取得するステップと、 Said processor includes the steps of acquiring a sequence number having a first portion and a second portion,
    該プロセッサが、該シーケンスナンバーの該第1の部分を用いて、第1の変数を設定するステップと、 A step of the processor, using the first portion of the sequence number, sets the first variable,
    該プロセッサが、該シーケンスナンバーの該第2の部分を用いて、第2の変数を設定するステップと、 A step of the processor, using the second portion of the sequence number, sets the second variable,
    該プロセッサが、ゼロと等しくなるようにバイトシーケンスナンバーを設定するステップと、 A step of the processor sets the byte sequence number to be equal to zero,
    該プロセッサが、該平文の複数のバイトのうちの各次のバイトに対して、次の暗号化バイトを計算するステップと Said processor, for each next byte of the plurality of bytes of plaintext, calculating a next encryption byte
    を包含し、 It encompasses,
    該計算するステップは、 The step of the calculation,
    該プロセッサが、該第2の変数と該バイトシーケンスナンバーとを所定の数を法として加算することにより、第3の変数を生成するステップと、 By the processor adds the second variable and the byte sequence number a predetermined number modulo the steps of generating a third variable,
    該プロセッサが、該第1の変数と、該第3の変数により示される該Sベクトル内の値とを該所定の数を法として加算することにより、第4の変数を計算するステップと、 A step the processor is to calculate the said first variable, by adding the values in the S vector represented by the variables of the third modulo said predetermined number, the fourth variable,
    該プロセッサが、該第3の変数により示される該Sベクトル内の値と、該第4の変数とを該所定の数を法として加算することにより、次の暗号化バイトを特定するポインタを計算することによって、該Sベクトル内の該次の暗号化バイトを特定するステップ The processor and the values in the S vector represented by the variables of the third, and the fourth variable by adding modulo the predetermined number, calculate a pointer identifying the next encryption byte by, identifying the encrypted bytes said next in the S vector,
    プロセッサが、該第3の変数等しくなるように該第2の変数を設定するステップと、 A step of the processor sets the second variable to be equal to the third variable,
    該プロセッサが、該バイトシーケンスナンバーを1つインクリメントするステップと を包含する、 パケット暗号化方法。 It said processor includes incrementing one said byte sequence number, a packet encryption method.
  5. 前記第2の変数を設定するステップは、 Step of setting the second variable,
    前記プロセッサが、前記シーケンスナンバーの前記第2の部分と前記第1の変数により示される前記Sベクトル内の値との排他的論理和をとるステップを包含する、請求項4に記載のパケット暗号化方法。 Wherein the processor, wherein the second portion the indicated by the first variable comprising the step of taking the exclusive OR of the values in the S-vector, packet encryption of claim 4 of the sequence number Method.
  6. 前記プロセッサが、各次の暗号化バイトに対して、前記次の暗号化バイトと前記平文の複数のバイトのうちの次のバイトとの排他的論理和をとることによって、次の暗号文バイトを計算するステップをさらに包含する、請求項4に記載のパケット暗号化方法。 Wherein the processor, for each subsequent encryption byte, by taking the exclusive OR of the next byte of the plurality of bytes of the plaintext and the next encryption byte, the next ciphertext byte further comprising, a packet encryption method according to claim 4 the step of calculating.
  7. 前記プロセッサが、各次の暗号化バイトに対して、前記次の暗号化バイトと前記平文の各1つ以上のパケット内の次の暗号文バイトとの排他的論理和をとることによって、受信された次の平文バイトを計算するステップをさらに包含する、請求項4に記載のパケット暗号化方法。 Wherein the processor, for each subsequent encryption byte, by taking the exclusive OR of the next ciphertext byte in each one or more packets of the plaintext and the next encryption byte is received It was next further comprising the step of calculating the plaintext bytes, packet encryption method according to claim 4.
  8. 前記第4の変数を計算するステップは、 Calculating a fourth variable,
    前記プロセッサが、カウンタを設定するステップと、 Wherein the processor, and setting a counter,
    該プロセッサが、前記第1の変数と、前記第3の変数および該カウンタにより示される前記Sベクトル内の値とを前記所定の数を法として加算することにより、該第4の変数を計算するステップと、 Said processor, said first variable, by adding the values in the said S vector represented by the third variable and the counter modulo said predetermined number, to calculate the variable of said 4 and the step,
    該プロセッサが、前記平文の各次の1つ以上のパケットに対して、予め決定されたスケジュールにより、該カウンタの値をインクリメントするステップと をさらに包含する、請求項4に記載のパケット暗号化方法。 It said processor, for each next one or more packets of the plaintext, the predetermined schedule, further comprising a step of incrementing the value of the counter, packet encryption method according to claim 4 .
  9. 前記カウンタを設定するステップは、 Step of setting the counter,
    前記プロセッサが、前記平文の1つ以上のパケットのうちの第1のパケットに対して、ロールオーバカウンタをゼロにリセットするステップと、 Wherein the processor is for the first packet of the one or more packets of the plaintext, and resetting the rollover counter to zero,
    該プロセッサが、該平文の各次の1つ以上のパケットに対して、前記シーケンスナンバーをインクリメントするステップが該シーケンスナンバーの値をオール1からオール0に遷移させる場合に該ロールオーバカウンタをインクリメントするステップと を包含する、請求項8に記載のパケット暗号化方法。 Said processor, for each next one or more packets of plaintext, incrementing the sequence number increments the rollover counter when transitioning to the all 0 the value of the sequence number from the all-1 comprising the steps, packet encryption method according to claim 8.
  10. 前記プロセッサが、前記平文の複数のバイトのうちの各次のバイトに対して、前記Sベクトルを並び替えるステップであって、 Wherein the processor, for each next byte of the plurality of bytes of the plaintext, the a changing step arranges the S-vector,
    該並び替えるステップは、 The rearranging step,
    該プロセッサが、前記Sベクトルのコピーを保存するステップと、 A step the processor is to save a copy of the S-vector,
    該プロセッサが、前記第3の変数により示される該Sベクトル内の値と前記第4の変数により示される該Sベクトル内の値とを入れ替えるステップであって、該Sベクトル内の値は、前記次の暗号化バイトを特定した後に入れ替えられる、 ステップと を包含する、 ステップと、 Said processor, comprising the steps of replacing the values in the S vector indicated by the value and the fourth variable in the S vector represented by the third variable, the value within the S-vector, the It is replaced after identifying the next encryption byte, including the steps, the steps,
    該プロセッサが、該平文の各次の1つ以上のパケットに対して、該保存されたSベクトルを復元するステップと をさらに包含する、請求項4に記載のパケット暗号化方法。 It said processor, for each next one or more packets of plaintext, further comprising, a packet encryption method according to claim 4 and restoring the saved S-vector.
  11. 平文Pの複数のバイトを有する1つ以上のパケットを複数の暗号文バイトCを有する1つ以上のパケットに変換するパケット暗号化方法であって、 The packet encryption method of converting into one or more packets having one or more of the plurality of ciphertext bytes C packets having a plurality of bytes of plaintext P,
    パケット暗号化方法は、 The packet encryption method,
    プロセッサが、秘密鍵を取得するステップと、 And step processor, to retrieve the secret key,
    該プロセッサが、該秘密鍵を用いて、複数のSベクトルバイトを有するSベクトルを計算するステップと、 A step of the processor, using the private key, to calculate the S-vector having a plurality of S-vector bytes,
    該プロセッサが、第1の部分と第2の部分とを有するシーケンスナンバーをランダムに設定するステップと、 A step of the processor sets a sequence number having a first portion and a second portion at random,
    該プロセッサが、各連続的な1つ以上のパケットに対して、該シーケンスナンバーをインクリメントするステップと、 Said processor, for each successive one or more packets, incrementing the sequence number,
    該プロセッサが、j=(該シーケンスナンバーの第1の部分)に従って、第1の変数jを設定するステップと、 The processor, j = according (a first portion of the sequence number), and setting a first variable j,
    該プロセッサが、i=(該シーケンスナンバーの第2の部分)に従って、第2の変数iを計算するステップと、 Said processor, i = according (second part of the sequence number), calculating a second variable i,
    該プロセッサが、該平文Pの複数のバイトのうちの各連続的バイトに対して、次の連続的暗号文バイトCを計算するステップであって、 Said processor, for each successive byte of the plurality of bytes of plaintext P, and calculating the next successive ciphertext byte C,
    該計算するステップは、 The step of the calculation,
    該プロセッサが、 j=j+S[i]に従って、該第1の変数をさらに計算するステップと、 A step wherein the processor according to j = j + S [i] , that further calculating the first variable,
    該プロセッサが、第3の変数kを設定するステップと、 A step of the processor sets the third variable k,
    該プロセッサが、 i=i+kに従って、該第2の変数iをさらに計算するステップと、 A step the processor is in accordance with i = i + k, which further calculates a second variable i,
    該プロセッサが、 E=S[S[i]+S[j]]に従って、該Sベクトル内の該次の連続的暗号化バイトEを特定するステップと、 The processor, according to E = S [S [i] + S [j]], identifying successive encryption byte E in said next in the S vector,
    該プロセッサが、 C=E The processor, C = E
    Pに従って、該次の連続的暗号化バイトEを次の連続的暗号文バイトCに変換するステップと を包含する、 ステップと、 According P, comprising the steps of converting a continuous encryption byte E of this next to the next successive ciphertext byte C, a step,
    該プロセッサが、該平文Pの複数のバイトのうちの最後のバイトが該1つ以上のパケットのうちの次のパケットに対して暗号文バイトCに変換された場合、該プロセッサが、該1つ以上のパケットのうちの次の連続的パケットを受信器に伝送するステップと を包含する、 パケット暗号化方法。 The processor, if the last byte of the plurality of bytes of plaintext P has been converted to ciphertext byte C for the next packet of the one or more packets, the processor is one wherein 1 the following includes a step of transmitting to the receiver a continuous packet, the packet encryption method of the above packets.
  12. 前記第2の変数iを計算するステップは、 Calculating a second variable i,
    前記プロセッサが、 i=(前記シーケンスナンバーの下位) Wherein the processor, i = (low order of the sequence number)
    S[j]に従って、該下位シーケンスナンバーと第1の変数により示される前記Sベクトル内の値との排他的論理和をとるステップを包含する、請求項11に記載のパケット暗号化方法。 According S [j], lower level sequence number and includes the steps of taking the exclusive OR of the value in the S vector represented by the first variable, packet encryption method according to claim 11.
  13. 前記第1の変数jをさらに計算するステップは、 Step further calculating the first variable j is
    前記プロセッサが、カウンタrを設定するステップと、 A step wherein the processor is to set the counter r,
    該プロセッサが、 j=j+S[i]+S[r]に従って、該第1の変数jをさらに計算するステップと、 A step the processor is further to calculate the j = j + S [i] + according S [r], the first variable j,
    該プロセッサが、前記1つ以上のパケットのうちの各連続的パケットに対して、該カウンタrの値をインクリメントするステップと を包含する、請求項11に記載のパケット暗号化方法。 It said processor, for each successive packet of the one or more packets, comprising a step of incrementing the value of the counter r, packet encryption method according to claim 11.
  14. 前記次の連続的暗号化バイトEを計算するステップは、 Calculating said next successive encryption byte E is
    前記プロセッサが、前記Sベクトルを並び替えるステップであって、 It said processor, comprising the steps of: rearranging the S vector,
    該並び替えるステップは、 The rearranging step,
    該プロセッサが、該Sベクトルのコピーを保存するステップと、 Said processor and storing a copy of the S-vector,
    該プロセッサが、前記第1の変数jにより示される前記複数のSベクトルバイトのうちのバイトと、前記第2の変数iにより示される該複数のSベクトルバイトのうちのバイトとを入れ替えるステップと を包含する、 ステップと、 The processor comprises a byte of the plurality of S-vector bytes indicated by the first variable j, the step of replacing a byte of the plurality of S-vector bytes indicated by said second variable i including the steps,
    該プロセッサが、前記平文Pの複数のバイトのうちの最後のバイトが前記次の1つ以上のパケットに対して前記複数の暗号文バイトCに変換された場合、該保存されたSベクトルを復元するステップと をさらに包含する、請求項11に記載のパケット暗号化方法。 The processor restores the S vector last byte when converted to the plurality of ciphertext bytes C with respect to the next one or more packets, which are the stored among the plurality of bytes of the plaintext P further comprising, a packet encryption method of claim 11, comprising the steps of.
  15. 平文Pの複数のバイトを有する1つ以上のパケットを複数の暗号文バイトCを有する1つ以上のパケットに変換するパケット暗号化方法であって、 The packet encryption method of converting into one or more packets having one or more of the plurality of ciphertext bytes C packets having a plurality of bytes of plaintext P,
    パケット暗号化方法は、 The packet encryption method,
    プロセッサが、秘密鍵を取得するステップと、 And step processor, to retrieve the secret key,
    該プロセッサが、該秘密鍵を用いて、複数のSベクトルバイトを有するSベクトルを計算するステップと、 A step of the processor, using the private key, to calculate the S-vector having a plurality of S-vector bytes,
    該プロセッサが、高位および下位を有するシーケンスナンバーをランダムに設定するステップと、 A step of the processor sets a sequence number having a high and a low order randomly,
    該プロセッサが、各連続的な1つ以上のパケットに対して、該シーケンスナンバーをインクリメントするステップと 該プロセッサが、該平文Pの複数のバイトのうちの各連続的バイトに対して、次の連続的暗号化バイトEを計算するステップであって、 Said processor, for each successive one or more packets, steps and the processor for incrementing the sequence number for each successive byte of the plurality of bytes of plaintext P, the next successive and calculating the encryption byte E,
    該計算するステップは、 The step of the calculation,
    該プロセッサが、 j=(該シーケンスナンバーの高位)に従って、第1の変数jを設定するステップと、 The processor, j = according (high of the sequence number), and setting a first variable j,
    該プロセッサが、 i=(該シーケンスナンバーの下位) The processor is, i = (the lower of the sequence number)
    S[j]に従って、第2の変数iを計算するステップと、 According S [j], calculating a second variable i,
    該プロセッサが、カウンタrを設定するステップと、 A step of the processor sets a counter r,
    該プロセッサが、 j=j+S[i]+S[r]に従って、該第1の変数をさらに計算するステップと、 The processor according to j = j + S [i] + S [r], the steps of further calculating a first variable,
    該プロセッサが、第3の変数kを設定するステップと、 A step of the processor sets the third variable k,
    該プロセッサが、 i=i+kに従って、該第2の変数iをインクリメントするステップと、 A step the processor is in accordance with i = i + k, for incrementing the second variable i,
    該プロセッサが、 E=S[S[i]+S[j]]に従って、該Sベクトル内の該次の連続的暗号化バイトEを特定するステップと、 The processor, according to E = S [S [i] + S [j]], identifying successive encryption byte E in said next in the S vector,
    該プロセッサが、 C=E The processor, C = E
    Pに従って、該次の連続的暗号化バイトEを次の連続的暗号文バイトCに変換するステップと を包含する、 ステップと、 According P, comprising the steps of converting a continuous encryption byte E of this next to the next successive ciphertext byte C, a step,
    該プロセッサが、該平文Pの複数のバイトのうちの最後のバイトが該1つ以上のパケットのうちの次のパケットに対して暗号文バイトCに変換された場合、該プロセッサが、該1つ以上のパケットのうちの次の連続的パケットを受信器に伝送するステップと を包含する、 パケット暗号化方法。 The processor, if the last byte of the plurality of bytes of plaintext P has been converted to ciphertext byte C for the next packet of the one or more packets, the processor is one wherein 1 the following includes a step of transmitting to the receiver a continuous packet, the packet encryption method of the above packets.
JP2002382422A 2002-01-04 2002-12-27 Efficient packet encryption method Expired - Fee Related JP4020197B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10038295 US7006628B2 (en) 2002-01-04 2002-01-04 Efficient packet encryption method
US10/038295 2002-01-04

Publications (3)

Publication Number Publication Date
JP2003234732A true JP2003234732A (en) 2003-08-22
JP2003234732A5 true JP2003234732A5 (en) 2005-03-10
JP4020197B2 true JP4020197B2 (en) 2007-12-12

Family

ID=21899121

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002382422A Expired - Fee Related JP4020197B2 (en) 2002-01-04 2002-12-27 Efficient packet encryption method
JP2007044679A Pending JP2007140566A (en) 2002-01-04 2007-02-23 Efficient packet encryption method

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2007044679A Pending JP2007140566A (en) 2002-01-04 2007-02-23 Efficient packet encryption method

Country Status (5)

Country Link
US (1) US7006628B2 (en)
EP (1) EP1326367B1 (en)
JP (2) JP4020197B2 (en)
CA (1) CA2415508A1 (en)
DE (2) DE60301147T2 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167476B1 (en) * 2002-04-12 2007-01-23 Juniper Networks, Inc. Systems and methods for routing data in a network device
JP2004133087A (en) * 2002-10-09 2004-04-30 Sony Corp Block encryption method and block encryption circuit
JP3821086B2 (en) * 2002-11-01 2006-09-13 ソニー株式会社 Streaming systems and streaming method, the client terminal and the data decoding method, and program
US7457954B2 (en) * 2003-06-18 2008-11-25 Denso Corporation Communications system and packet structure
US20050078830A1 (en) * 2003-08-15 2005-04-14 Imcentric, Inc. Method for automated installation of digital certificates to network servers
US8437475B2 (en) * 2004-03-19 2013-05-07 Verizon Corporate Services Group Inc. Packet-based and pseudo-packet-based cryptographic synchronization systems and methods
US7831825B2 (en) * 2004-03-19 2010-11-09 Verizon Corporate Services Group Inc. Packet-based and pseudo-packet based cryptographic communications systems and methods
US7406595B1 (en) 2004-05-05 2008-07-29 The United States Of America As Represented By The Director, National Security Agency Method of packet encryption that allows for pipelining
US20050273853A1 (en) * 2004-05-24 2005-12-08 Toshiba America Research, Inc. Quarantine networking
US7620181B2 (en) * 2005-04-20 2009-11-17 Harris Corporation Communications system with minimum error cryptographic resynchronization
US8228917B2 (en) 2005-04-26 2012-07-24 Qualcomm Incorporated Method and apparatus for ciphering and re-ordering packets in a wireless communication system
US8447968B2 (en) * 2005-10-28 2013-05-21 Alcatel Lucent Air-interface application layer security for wireless networks
US8842834B2 (en) * 2007-03-19 2014-09-23 Harris Corporation Robust delivery of packet based secure voice
US8848924B2 (en) * 2008-06-27 2014-09-30 University Of Washington Privacy-preserving location tracking for devices
US8724548B2 (en) * 2010-04-22 2014-05-13 Qualcomm Incorporated Counter check procedure for packet data transmission

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3384434B2 (en) * 1995-12-08 2003-03-10 日本電信電話株式会社 Scrambling communication method and system
US6490354B2 (en) * 1998-06-23 2002-12-03 Microsoft Corporation Lightweight word-oriented technique for generating a pseudo-random sequence for use in a keystream of a stream cipher
US6549622B1 (en) * 1998-11-23 2003-04-15 Compaq Computer Corporation System and method for a fast hardware implementation of RC4
JP2000315997A (en) * 1999-04-30 2000-11-14 Toshiba Corp Encryption communication method and node unit
US20020044651A1 (en) * 2000-05-16 2002-04-18 Tuvell Walter E. Method and apparatus for improving the security of cryptographic ciphers
US7277542B2 (en) * 2000-09-25 2007-10-02 Broadcom Corporation Stream cipher encryption application accelerator and methods thereof
US6862354B1 (en) * 2000-09-29 2005-03-01 Cisco Technology, Inc. Stream cipher encryption method and apparatus that can efficiently seek to arbitrary locations in a key stream
US6990199B2 (en) * 2001-06-12 2006-01-24 Corrent Corporation Apparatus and method for cipher processing system using multiple port memory and parallel read/write operations

Also Published As

Publication number Publication date Type
US7006628B2 (en) 2006-02-28 grant
CA2415508A1 (en) 2003-07-04 application
US20030131233A1 (en) 2003-07-10 application
EP1326367B1 (en) 2005-08-03 grant
JP2003234732A (en) 2003-08-22 application
EP1326367A1 (en) 2003-07-09 application
JP2007140566A (en) 2007-06-07 application
DE60301147D1 (en) 2005-09-08 grant
DE60301147T2 (en) 2006-06-08 grant

Similar Documents

Publication Publication Date Title
Jakimoski et al. Chaos and cryptography: block encryption ciphers based on chaotic maps
US6307940B1 (en) Communication network for encrypting/deciphering communication text while updating encryption key, a communication terminal thereof, and a communication method thereof
US7649992B2 (en) Apparatuses for encoding, decoding, and authenticating data in cipher block chaining messaging authentication code
Ferguson et al. Helix: Fast encryption and authentication in a single cryptographic primitive
US5161244A (en) Cryptographic system based on information difference
US20060056623A1 (en) Block encryption method and schemes for data confidentiality and integrity protection
US20020006197A1 (en) Stream-cipher method and apparatus
US20010046292A1 (en) Authentication method and schemes for data integrity protection
US7684568B2 (en) Encrypting data in a communication network
US6459792B2 (en) Block cipher using key data merged with an intermediate block generated from a previous block
Baugher et al. The secure real-time transport protocol (SRTP)
US7110545B2 (en) Method and apparatus for symmetric-key encryption
US6697490B1 (en) Automatic resynchronization of crypto-sync information
US7221757B2 (en) Method and system for accelerated data encryption
US6249582B1 (en) Apparatus for and method of overhead reduction in a block cipher
US20020120874A1 (en) Method and system for secure exchange of messages
US20100211787A1 (en) Chaotic cipher system and method for secure communication
US20070101120A1 (en) Air-interface application layer security for wireless networks
US20080112561A1 (en) Method of generating message authentication code using stream cipher and authentication/encryption and authentication/decryption methods using stream cipher
US7171552B1 (en) Encrypting information in a communications network
US20070286416A1 (en) Implementation of AES encryption circuitry with CCM
US5345508A (en) Method and apparatus for variable-overhead cached encryption
US5444781A (en) Method and apparatus for decryption using cache storage
Vilela et al. Lightweight security for network coding
US20020044651A1 (en) Method and apparatus for improving the security of cryptographic ciphers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040402

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060824

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061122

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070330

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070702

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070918

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101005

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111005

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121005

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131005

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees