JPH09510592A - Data decryption device for pay television signal receiving system - Google Patents

Data decryption device for pay television signal receiving system

Info

Publication number
JPH09510592A
JPH09510592A JP7524608A JP52460895A JPH09510592A JP H09510592 A JPH09510592 A JP H09510592A JP 7524608 A JP7524608 A JP 7524608A JP 52460895 A JP52460895 A JP 52460895A JP H09510592 A JPH09510592 A JP H09510592A
Authority
JP
Japan
Prior art keywords
signal
decryption
output
input
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7524608A
Other languages
Japanese (ja)
Inventor
マイケル マーフィー,ピーター
Original Assignee
トムソン コンシューマ エレクトロニクス インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by トムソン コンシューマ エレクトロニクス インコーポレイテッド filed Critical トムソン コンシューマ エレクトロニクス インコーポレイテッド
Publication of JPH09510592A publication Critical patent/JPH09510592A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • 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/34Encoding or coding, e.g. Huffman coding or error correction
    • 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/60Digital content management, e.g. content distribution
    • H04L2209/601Broadcast encryption

Abstract

(57)【要約】 高品位テレビジョン信号を含む衛星−放送信号の受信器は、暗号化された信号を解読する装置(図1:12−26)を含む。暗号解読をする必要がない暗号化されていない“平文”信号情報が受信されたとき、平文情報は暗号解読装置に供給される。入力平文情報が暗号解読装置の出力で平文情報としてそのまま得られるように、通常の暗号解読動作が変更される。暗号解読装置の暗号解読関数(f(R,K))と関係したビット選択ネットワーク(628;S1,...S8)は、ルックアップテーブルではなく、組合せ論理回路網(18,628)を利用する。 (57) Summary A receiver of satellite-broadcast signals, including high-definition television signals, includes a device for decrypting encrypted signals (FIG. 1: 12-26). When unencrypted "plaintext" signal information that does not need to be decrypted is received, the plaintext information is provided to the decryption device. The normal cryptanalysis operation is changed so that the input plaintext information can be directly obtained as the plaintext information at the output of the cryptanalysis device. The bit selection network (628; S 1 , ..., S 8 ) associated with the cryptanalysis function (f (R, K)) of the cryptanalyzer is not a lookup table, but a combinatorial logic network (18,628). To use.

Description

【発明の詳細な説明】 有料テレビジョン信号受信システムのデータ暗号解読装置 発明の背景 本発明はディジタルビデオ信号処理の分野に係り、特に、例えば、放送衛星の ような伝送チャネルから受信されたテレビジョン信号を暗号解読する装置に関す る。 ケーブル及び衛星放送/受信システムのような加入者ビデオ及びテレビジョン サービスは、支払い済の加入者だけにアクセスを制限するため、制御語又は“鍵 ”を用いてビデオ及びオーディオのような種々の放送サービスを屡々暗号化する 。送信器側の暗号化処理は種々の技術に従って行われる。上記技術の中の幾つか は、“アメリカ国家規格データ暗号化アルゴリズム”ANSI X3.92−1 981と、“情報システム−データ暗号化アルゴリズム−動作のモードに関する アメリカ国家規格”ANSI X3.106 −1983に記載されている。 発明の概要 暗号化された情報を含むことがある信号の受信器において、受信器の暗号解読 プロセッサの暗号解読機能と関係したビット選択プロセッサは、例えば、ルック アップテーブルではなく、組合せ論理回路網を利用することにより、向上した動 作速度を示す。 図面の簡単な説明 図面中: 図1は本発明の原理に従う暗号解読装置のブロック図である。 図2は、同図の輸送ユニット内に図1の暗号解読装置を含む衛星ビデオ信号放 送及び受信システムのブロック図である。 図3−13は、図1に示された装置の暗号解読動作を理解する助けになるブロ ック図と表である。 図14及び15は、夫々、図1のシステムの入力主状態器の状態図及び関係し た論理表を表わす図である。 図16及び17は、夫々、図1のシステムの出力状態器の状態図及び関係した 論理表を表わす図である。 詳細な説明 図1に示された暗号解読装置は、“アメリカ国家規格データ暗号化アルゴリズ ム”ANSI X3.92−1981に記載されているようなディジタルデータ を暗号化及び復号化する標準的なアルゴリズムであるデータ暗号化/復号化アル ゴリズム(DEA)に従って動作する。特に、図1の装置は、“情報システム− データ暗号化アルゴリズム−動作のモードに関するアメリカ国家規格”ANSI X3.106−1983に記載されているような“電子コードブックモード” で動作する。この例では、受信された入力データストリームは、有料テレビジョ ンシステムと関係した5個のソース又は“サービス”からのデータを含み、暗号 解読装置は各サービスに対し2個ずつからなる10個の暗号解読鍵を与える場合 が想定されている。各サービスに対し2個の鍵を交互に用いることにより、現在 使用されていない方の鍵の定期的な変更が、もう一方の鍵を用いた現在の暗号解 読処理を中断することなく行える利点が得られる。DEA規格によれば、各鍵は 、56個の暗号解読ビットと、8個のパリティチェックビットとからなる64ビ ットの語である。開示されたシステムにおいて、8個のパリティビットは使用さ れない。 入力信号は、暗号化された暗号文データ又は暗号化されていない平文データの いずれを含んでいてもよい。DEA規格によれば、“平文”とは、意味を持ち、 読むこと及び使用することが可能な分かりやすい文又は信号であり、暗号解読と は、標準的なアルゴリズ ムを用いて暗号文を平文に変換する処理である。入力信号は、8ビット/バイト の並列の8バイトのデータストリームである。入力8バイトシフトレジスタ10 は、クロックに応じて、同時に1バイトずつの入力データを受ける。クロック信 号は図を簡単化するため示されていない。かくして、8ビット(1バイト)が各 クロックサイクル中にクロックに同期してレジスタ10に入れられるので、レジ スタ10を64ビットで完全に充填するため8回のクロックサイクルが必要であ る。素子12、14、16及び18は暗号解読プロセッサを形成する。入力レジ スタ10のローディングは、暗号解読プロセッサが前の入力サイクルからのデー タの64ビットにデータ復号化アルゴリズムを実行する間に終了する。(以下、 説明する)標準的なデータ復号化アルゴリズムは、16回の反復により構成され 、レジスタ10を充填するため8回のクロックサイクルが必要とされ、暗号解読 プロセッサ素子12、14、16及び18のクロック速度は、入力レジスタのク ロック速度の2倍の速さであり、即ち、次の8バイトの入力データを受ける速度 の2倍の速さである。 暗号解読動作は、状態器20、例えば、マイクロコントローラの制御下にある 。状態器20は、入力データの次の64ビットの残部が得られているデータの復 号化の間にシステムを待機させるようプログラムされてもよく、或いは、システ ムに前のデータの復号化の終了の直後に新しいデータの復号化を進めさせるよう プログラムされてもよい。状態器20は、入力制御信号スタート(START) とバイパス(BYPASS)に応答し、出力制御(CONTROL)信号を発生 する。 バイパス信号は、スクランブルをかけられていない入力の平文データが暗号解 読回路網の出力で同一形式に保たれるよう通常の暗号解読動作が変更されるべき こと、即ち、暗号解読処理がバイパスされるべきことを通知する。状態器20か らの出力制御信号は、このバイパス命令を暗号解読処理素子12及び16と、出 力状態器2 2に伝達する。平文データ入力に対し暗号解読動作をバイパスさせるため、状態 器20は、“I”レジスタ12に入力レジスタ10からのロードを受けさせ、レ ジスタ12は、反復を行うことなく、(“何もしない状態(idles)”で)16回 の復号化の反復(図3に関して説明される)を達成する間隔を待機し、その後、 レジスタ12の内容が出力レジスタ26に送られる。出力レジスタ26の入力の 最終データ置換(逆の置換)は、レジスタ12の入力の初期置換の逆にする必要 のあることが予め定められているので、レジスタ26からの平文出力データは入 力平文データと一致する。かくして暗号解読バイパス機能が、暗号解読処理回路 網の回りで平文データを切換えるスイッチング回路網の使用と関係した回路及び インタフェースの複雑化に依存することなく実現される利点が得られる。 上記システムにより受信、処理された入力暗号文/平文ディジタル信号は、暗 号化を受けるデータ成分と、データ識別情報を格納する関係したヘッダ成分とを 含むデータパケットの形式をなす。ヘッダは暗号化されない。ユニット20への 入力バイパス制御信号は、入力信号処理回路網(図示しない)によって検出され た受信データパケットのヘッダに含まれる制御ビットに応じて生成される。ユニ ット20からの制御信号には、上記の如く、平文バイパスモードの16回の反復 の間、レジスタ12を何もしない状態にさせる情報が含まれている。ユニット2 0からの制御信号には、レジスタ12内のマルチプレクサに、ユニット10の出 力又はユニット18の出力の何れかを処理のため選択させる情報が更に含まれて いる。ユニット20に入力されたスタート信号はユニット20に前置された入力 信号処理回路網(図示しない)により発生させられ、ユニット20は、受信され た8バイトのデータパケットを検知し、8バイトが検知された後(入力レジスタ 10が充填されていることを示す)、入力レジスタ10の出力をレジスタ12に ロードさせる情報を制御信号線上に発生する。更に、この情報は、データの別の ブロックが データ処理パイプラインに入ったことを出力状態器22に知らせ、データブロッ クは、上記の如く、16段階の反復暗号解読処理が終了した後、ユニット22の 制御下でシフトレジスタ26から出力される。 図14及び15は、夫々、状態器20の状態図及び関係した論理表とを示して いる。スタート信号が受信されたとき、ユニット20は、最初に、ユニット10 からユニット20に64ビットの入力データをローディングすることにより暗号 解読システムを初期化する。次に、ユニット20は暗号解読の16回の反復をカ ウントし、その後、ユニット20は次のスタート信号を待機する。暗号解読処理 の終わりに依然として現れる最後のスタート信号を見越して、ユニット20は、 状態“終了−待機”に進み、スタート信号が消えるまで待機し、その後、ユニッ ト20は次のスタート信号を待つ。この例で示されているように、19個の状態 しか必要とされないので、10001と11111の間の5ビットのデータ語と 関係した13個の状態は使用されず、現れない。 図16及び17には、出力状態器22の状態図及び関係した論理 了)制御信号を受けたとき、その信号は、データが復号化中であるか、又は、デ ータがバイパスモードの装置の中をバイパスされているかを示す。ユニット22 は、次に、準備完了状態に移る。状態器20が暗号解読処理の終了の信号を送出 したとき、出力状態器22は8バイト(状態S1からS8)をカウントする。ユニ ット22は、 R8でカウントを終了することによりそれに追従する。カウントの最後で暗号解 読が未だ終了していないならば、ユニット22は準備完了状態に移り、暗号解読 処理が終了するまで待機する。状態R1乃至R8が使用されている間に終了信号 が受信された場合、カウン トの最後で、状態器22は、直ちに次の8バイトの配送に移る。 DEA規格によって定められた符合語置換は、図1のユニット12、14、1 6及び18を相互接続するデータリンク上にデータビットを適当に配置すること により実現される。ユニット18により行われる暗号解読ビット選択機能は組合 せ論理回路網によって実現することにより利点が得られる。特に、ビット選択機 能は、以下に説明するように、6−入力、4−出力の組合せ論理配置により実現 してもよい。ビット選択機能を実行するため組合せ論理を使用することにより、 例えば、ハードウェアの経済性と、ROMベースのルックアップテーブルを使用 するよりも選択機能の高速な動作が得られることが考えられる。 出力状態器22は、次の64ビットのシーケンスがユニット12−18により 処理され、かつ、別の64ビットのシーケンスが入力レジスタ10により得られ ている間に、同時に1バイトずつの平文出力をレジスタ26を介して出力チャネ ルに伝達させ得る。出力状態器22は、(次の64ビットが完全には暗号解読さ れていない場合があるので)所定のシーケンスの最後のバイトが出力レジスタ2 6によって伝達されるまで待機するようプログラムされてもよく、或いは、状態 器22は、次の64ビットの平文出力シーケンスを直ぐに配送し始めても構わな い。かくして、状態器22と出力レジスタ26は、データが遅延した又は不均一 なレートで発生する場合に待機し、或いは、ユニット22は、データが最高レー トで発生する場合に現れるようにデータブロックをレジスタ26からシフトさせ る。出力状態器22は、新しいデータが処理されているが完全には暗号解読され ていない場合、或いは、新しいデータが暗号解読され、かつ、レジスタ26を介 して出力チャネルに配送されるのを待機している場合に、新しいデータが暗号解 読回路網によって処理されているかどうかを判定する。これは、例えば、所定の ブロックが16回の反復の後に暗号解読されたことを示すユニット20からの制 御 信号情報に応じて判定される。 “バイパス”モードにおいて、暗号化されていない平文入力情報が存在すると き、入力平文情報は、入力レジスタ10から暗号解読プロセッサユニット12及 び18を介して出力レジスタ26に伝達され、上記暗号解読プロセッサユニット 12及び18は、このモードでは変更された動作を示す。特に、図6のブロック 622に対応するユニット18の出力は16回の反復サイクルの間で使用される ことがなく、その反復サイクルの間に暗号解読が行われる。 バイパスモードは、以下の如く、バイパスモード中にレジスタ12を何もしな い状態にさせることにより実現される。64ビットの入力がバイパスモードで受 信された場合に、暗号解読プロセッサと状態器20は、暗号解読動作モードと実 質的に同じ方法で動作を開始する。データは、上記の如くのビット位置の順列で シフトレジスタ10からレジスタ12に転送される。暗号解読の16回の各反復 において、レジスタ12の右半分は、レジスタ12の前の左半分を取得し、レジ スタ12の左半分は、組合せ論理回路18の出力を取得する。しかし、バイパス モードの場合、1回の反復しかない。この1回のバイパス反復において、レジス タ12の右半分は、レジスタ12の前の左半分を取得し、レジスタ12の左半分 は、レジスタ12の前の右半分を取得する。レジスタ12は、出力レジスタ26 がレジスタ12からデータを受ける準備ができるまでその値を維持する。レジス タ12は、各クロックで出力を入力に伝達することによりその値を維持する。 図1の装置によって行われるDEAデータ暗号化/復号化アルゴリズムに関す るより具体的な情報をDEA出版物“アメリカ国家規格データ暗号化アルゴリズ ム”、アメリカ国家規格 X3.92−1981に基づいて以下に説明する。復 号化処理は、本質的に、以下に詳細に説明する暗号化処理の逆である。 データ暗号化/復号化アルゴリズムは、64ビットの鍵の制御下 で64ビットのデータブロックを暗号化及び復号化するため設計されている。復 号化は、暗号化のため使用された鍵と同一の鍵を使用するが、復号化処理が暗号 化処理の逆になるよう鍵のビットをアドレス指定するスケジュールが変更されて いる。 暗号化されるべきブロックは、初期置換“IP”を受け、次に、複雑な鍵−依 存形の計算を受け、最終的に、初期置換の逆の置換IP-1を受ける。鍵−依存形 の置換は、暗号化関数“f”及び鍵スケジュール関数“KS”に関して定義され る。以下、計算及び暗号化動作の説明を行う。以下の表記法は、以下の説明を理 解する上で便利である。ビットからなる2個のブロックL及びRが与えられた場 合に、LRは、Rのビットが後に続くLのビットからなるブロックを示す。この 連結は結合性があるので、例えば、B1、B2...B8は、B8のビットが後に続 き、...以下同様に、B2のビットが後に続くB1のビットからなるブロックを 示す。 暗号化の計算が図3に示されている。暗号化されるべき入力ブロックの64ビ ットは、最初に、図1のレジスタ12によって受けられる前に、図4の表1に与 えられたように初期置換IPを受ける。置換された入力は、入力のビット58を 第1のビットとして、ビット50を第2のビットとして、以下同様に、ビット7 を最後のビットとして有する。置換された入力ブロックは、次に、以下の式によ り説明される複雑な鍵−依存形計算に入力される。“先行出力”と呼ばれる上記 計算の出力は、次に、初期置換の逆である図5の表2に与えられた置換を受ける 。かくして、アルゴリズムの出力は、先行出力のビット40を第1のビットとし て有し、ビット8を第2のビットとして有し、以下同様に、先行ブロックのビッ ト25が出力の最後のビットになるまで続く。レジスタ12の入力で行われた所 期置換は、ユニット10の出力をユニット12の入力に接続する配線を再配置す ることにより行われる。或いは、これは、論理回路網を用いることにより行うこ とができる。出力レジスタ26の入力で 行われる逆置換が同様に実現される。 上記計算は、先行出力ブロックを生成するため、置換された入力ブロックを入 力として使用する。最終的なブロックの置換を除いて、計算は、32ビットのブ ロック及び48ビットのブロックの2個のブロックに関して演算を行い、32ビ ットのブロックを生成する暗号化関数fの計算を含む演算の組の16回の反復に より構成される。例えば、反復への入力ブロックの64ビットが、32ビットの ブロックLと、それに続く32ビットのブロックRとからなり、入力ブロックが LRとして示される場合を考える。Kが64ビットの鍵から選択された48ビッ トのブロックであるならば、入力LRに関する反復の出力L’R’は、以下の式 L’=R R’=L+f(R,K) (式1) によって定義され、式中、上記例では、“+”が1ビットずつのモジュロー2の 加算を示す。 上記の如く、計算の1回目の反復の入力は、置換された入力ブロックである。 L’R’が16回目の反復の出力であるならば、R’L’は先行出力ブロックで ある。各反復の際に、鍵ビットの中の異なるブロックKがKEYと呼ばれる64 ビットの鍵から選択される。これは、ユニット20からの制御信号に応答して選 択的な56ビットのシフトレジスタ16によって行われる。特に、シフトレジス タ16は、その時に作動状態の鍵の56ビットを各反復に対し1又は2の位置ず つシフトし、シフトレジスタ16の出力で関数“K”によって示されているよう に同時に48ビットが選択される。上記例の場合に、ユニット16と18の間の 配線バスを適当に構成することにより48ビットが選択される。かかる鍵スケジ ュールの一例は、上記の“アメリカ国家規格データ暗号化アルゴリズム”ANS I X3.92−1981に記載されている。計算の反復をより詳細に説明する 。KSが入力として1から16の範囲内の整数 “n”と、64ビットのブロックKEYとを取り、出力としてKEYからのビッ トの置換された選択である48ビットのブロックKn n=KS(n,KEY) (式2) を発生する関数であるならば、Knは、KEYの中の48個の別個のビット位置 内でビットによって定められる。上記式1のn回目の反復で使用されたブロック Kが式2によって定められたブロックKnであるので、KSは鍵スケジュールと 呼ばれる。上記の如く、置換された入力ブロックをLRで表わす。L及びRが夫 々Ln-1及びRn-1であり、かつ、KがKnである場合に、L0及びR0を夫々L及 びRで表わし、Ln及びRnを夫々L’及びR’で表わす。即ち、nが1乃至16 の範囲にあるとき、 Ln=Rn-1 n=Ln-1+f(Rn-1,Kn) (式3) である。先行出力はR1616である。鍵スケジュールKSは、DEA刊行物“ア メリカ国家規格データ暗号化アルゴリズム” アメリカ国家規格 X3.92− 1981により詳細に記載されているように、上記アルゴリズムに必要とされる Knの16個の値を生成する。 図1の装置によって実行される暗号解読動作の間に、先行出力ブロックに適用 される逆置換IP-1(図1の最終的置換)は、入力に適用された初期置換IPの 逆である。式1から、 R=L’ L=R’+f(L’,K) (式4) が得られる。従って、暗号解読を行うためには、計算の各反復でブロックの暗号 化の間に使用された鍵ビットKのブロックと同一の鍵ビットKのブロックが暗号 解読中に使用されることに注意して、同一のアルゴリズムを暗号化されたメッセ ージブロックに適用するだけでよい。この概念は以下の式: Rn-1=Ln n-1=Rn+f(Ln,Kn) (式5) によって表わされ、式中、R1616は、復号化計算のための置換された入力ブロ ックであり、L00は先行出力ブロックである。即ち、置換された入力としての R1616に関する復号化計算に対し、K16が1回目の反復に使用され、K15が2 回目の反復に使用され、以下同様にして、K1が16回目の反復に使用される。 このことに関して、送信器/暗号装置で実行された置換は、受信器/暗号解読装 置で実行された置換の逆であることに注意する必要がある。かくして、図1の暗 号解読装置の初期置換(IP)は、暗号装置で実行された対応する逆置換がある 。 16段階の反復処理(図3)には、図1の組合せ論理ビット選択回路網18に より実行される16個の鍵−依存形暗号化関数f(R,K)の計算が含まれてい る。f(R,K)は、図1の暗号解読装置の文脈では、実際上、復号化関数であ ることを理解する必要がある。復号化関数は、送信器/暗号装置で行われた暗号 化関数の逆である。図6は、回路網18の補足的な詳細図である。図6を参照す るに、各計算は、番号610によって示された32ビットのブロック“R”と、 番号616で示された48ビットのブロック“K”とに関して行われる。ブロッ クRは、入力された64ビットのデータブロックの半分であり、Kは64ビット の鍵から選択された48ビットのブロックである。ブロックRは、ブロックR及 びKがユニット626により組み合わされるとき、ブロックKの長さと一致する ように、ユニット612によって実行される関数“E”により48ビット(ブロ ック614)に拡張される。上記の如く、各反復に対し、48個の鍵ビットの異 なるブロックKが所定のスケジュールに従って(シフトされた)64ビットの鍵 から選択(置換)される。 組合せ論理ビット選択回路網628は、本質的に暗号化/復号化関数の基礎を 形成する複数の固有の選択関数S1,...S8を含 む。各選択関数S1,...S8は、排他的論理和論理回路網626から受けた6 個の入力ビットに応答して4個の出力ビットの固有の組合せを生成する。即ち、 各選択関数は、一方の元のビットの組を別のビットの組の代わりに使用する。第 6ビットから第4ビットの置換がDEA規格に準拠する。置換が行われた元のビ ットは、動作が送信器/暗号装置又は受信器/暗号解読装置の何れで行われたか に依存して、平文ビット又は暗号化ビットの何れかである。 より詳しく言うと、図6において、ブロック610は、図1のユニット12へ の入力データブロックを表わし、素子Eは、図1のユニット12内で行われる拡 張関数を表わしている。ブロック614は、図1のユニット12からの48ビッ ト出力ブロックを表わしている。ブロック616は、図1のユニット18の入力 に供給されたような図1のユニット16からの出力データブロックを表わす。回 路網626と、プロセッサ628と、素子620によって示された置換関数Pは 、図6の番号622によって示された出力の32ビットデータブロックを生成す る図1のユニット18内に含まれる。図6の素子612、614、620及び6 28は、図3に示された暗号化関数“f”を実行する。図6の素子、特に、素子 612、614、626、628及び620は、暗号化と暗号解読の両方の処理 で利用される。 図6において、素子Eは、32ビットの入力ブロックを受け、48ビットの出 力ブロックを生成する拡張関数を表わしている。関数Eは、各々が6ビットから なる8個のブロックとして描かれた48個の出力ビットが図7の表3に示された 順序で入力ビットを選択することにより得られるような関数である。かくして、 E(R)の最初の3ビットは、Rの位置32、1及び2のビットであり、E(R )の最後の2ビットは、位置32及び1のビットである。固有の各ビット選択関 数S1,S2,...S8は、6ビットの入力ブロックを受け、4ビットの出力ブ ロックを生成する。この処理は、 関数S1の値を含む図8の表4に示されている。S1が表4によって定められた関 数であり、Bが6ビットのブロックであるならば、S1(B)が以下のように定 められる。Bの最初及び最後のビットは、底2の2進数形式で、0乃至3の範囲 内の数字を表わす。その数字を“i”で表わす。Bの中間の4ビットは、底2で 、0乃至15の範囲内の数字を表わす。その数字を“j”で表わす。表4におい て、i番目の行と、j番目の列の数字は0乃至15の範囲内にあり、4ビットの ブロックで固有に表わされる。そのブロックは、入力Bに対するS1であるS1 (B)の出力である。例えば、2進数の入力011011に対し、行が2進数の 01(即ち、行1)であり、列は2進数の1101(即ち、行13)によって定 められる。行1、列13には、数字5があるので、2進数の出力は0101であ る。選択関数S1,S2,...S8の完全な組が図9の表6に示されている。 選択関数S1を定める表4は、上記DEA規格の仕様書に示されているように 、そのまま使用してもよい。しかし、図1に示されたシステムの場合、図8の表 1は、ルックアップテーブルではなく組合せ論理回路網の使用を容易にするため 、図11に示されているように再配置された。特に、図11の表に示されている ように、6ビットの入力Bが、B内のビットの順序を変更することなく(底2で )0乃至63の範囲の数字を表わすように、表が再配置された。図11の表の場 合に、“出力”は上記の量S1(B)を表わしている。 図11の表は、図12の表に示されているように、(0−16の範囲の数字を 表わす)固有の4ビットの出力が、上記出力を生成する(0−63の範囲の数字 を表わす)4通りの実施可能な6ビットのB入力を決めるため使用できるように 、更に配置された。即ち、図12の表は、4ビットの出力と、実施可能な6ビッ トのB入力の間の関係を表している。最後に、図12に示された表によって表現 された関数を記述するブール代数表現が作成された。このブール代数表現は、従 来の論理回路設計技術を用いて、図12の表により示された選択関数用の組合せ 論理回路を合成するため使用される。図13には、図12の表のブール表現を組 み込むためのVHDLコードが示されている。選択関数S1のための図8と、図 11−13に示された表に関し説明した技術と類似した技術が、図9の表6に示 されている他の各ビット選択関数S2,...S8に対する組合せ論理回路を合成 するブール表現を作成するため使用される。上記暗号解読表の再配置は、送信器 /暗号装置でも行うことが可能であるが、そのようにしなければならない訳では ない。 置換関数Pは、入力ブロックのビットを置換することにより、32ビットの入 力ブロックから32ビットの出力ブロックを発生する。置換関数は図10の表5 に定義されている。この表により定義された関数Pに対する出力P(L)は、L の16番目のビットをP(L)の1番目のビットとみなし、Lの7番目のビット をP(L)の2番目のビットとみなし、以下同様にして、Lの25番目のビット がP(L)の32番目のビットとみなされるまで続けることにより入力Lから得 られる。S1,...S8が8個の異なる選択関数であるならば、Pは置換関数で あり、Eは拡張関数である。f(R,K)を定義するため、ブロックB1,.. .B8が各々6ビットのブロックとして定義され、それらに関し B12...B8=K+E(R) (式6) である。ブロックf(R,K)は従って、 P(S1(B1)S2(B2)...S8(B8)) (式7) であるように定められる。かくして、K+E(R)は、最初、式6に示されてい るように8個のブロックに分割される。次に、各BiはSiへの入力として与えら れ、各々が4ビットからなる8個のブロックS1(B1),S2(B2)...S3 (B8)は、Pへの入力を形成する32ビットからなる単一のブロックに統合さ れる。 出力(式7に示されている)は、入力R及びKに対する関数fの出力である。 図2の衛星送信器/受信器システムにおいて、送信器側は信号源30からの信 号を処理する。上記例において、信号源30には、例えば、ペイロードデータ成 分と関連したデータ成分の内容を記述する関連したヘッダ成分とを含む輸送パケ ットの形式で情報を格納するテレビジョン信号源を含む複数のオーディオ及びビ デオ源が含まれる。夫々の信号源からのデータパケットは、ユニット32及び3 4により処理される前に出力パス上の非同期時分割多重化(ATDM)をうける 。 ソース30からの信号は、上記例においてMPEG符号装置を含むユニット3 2により符号化、圧縮が行われる。MPEGとは、動画像と付随したオーディオ の符号化表現のための国際規格組織の動画像専門家グループによって制定された 国際規格である。ユニット32からの符号化された信号は、エラー訂正データを 含む信号を符号化し、符号化された信号を搬送波上にQPSK変調する4分割位 相シフトキーイング(QPSK)式変調器及FEC(フォワードエラー訂正器) 34に供給される。ユニット34は、コンボリューション及びリードソロモン( RS)符号化の両方を行う。アップリンクユニット36は、圧縮され、符号化さ れた信号を、選択された地域の受信エリアに信号を放送する衛星40に伝送する 。この例において、衛星40は、チャネル容量と伝送電力の取捨を考量した2通 りのモードで動作する。一方のモードにおいて、衛星40は、120ワットずつ の16個のチャネルを伝送し、もう一方のモードでは、240ワットずつの8個 のチャネルを伝送する。 衛星40からの信号はアンテナ(図示しない)により受信され、受信器の入力 チューナ回路44に結合される。チューナ44からの出力信号は、ユニット46 によってQPSK復調され、ユニット48、50及び52を用いて復号化され、 輸送プロセッサ56に供給 される。ユニット46として使用するのに適当なQPSK復調器は、メリーラン ド州ジャーマンタウンのヒューズ ネットワーク システムズ(集積回路型番1 016212)、及び、カリフォルニア州サンディエゴのコムストリーム社(型 番CD 2000)から商業的に入手可能である。輸送プロセッサ56は、ユニ ット52からの信号の内容、例えば、オーディオ又はビデオ情報に依存して、復 号化された出力信号をユニット52からユニット62内の適当な復号器に輸送す る。輸送ユニット56は、ユニット52から訂正されたデータパケットを受け、 その経路を定めるため、各パケットのヘッダを検査する。輸送ユニット56は図 1に示された暗号解読装置を含む。衛星有料システムの場合に、暗号化されてい ない平文情報は、ヘッダデータと、暗号解読鍵と、複数のソースの各々に対し入 手可能な番組素材の一覧と、オーディオと、種々雑多の項目とを含む。衛星シス テムは、典型的に、放送又はケーブルシステムよりも多数のチャネルを、暗号解 読する必要がない点で有利なより多数の番組一覧と共に提供する。 ユニット62からのオーディオ及びビデオ信号は、夫々、オーディオプロセッ サ66と、ビデオ信号を標準的なNTSC方式消費者テレビジョン受像機68に よる使用に適当なフォーマットに符号化するNTSCテレビジョン信号ビデオ符 号器64とに供給される。ユニット66からのオーディオ信号は受像機68のオ ーディオ入力に供給される。 マイクロコントローラ60は、ジョン エス スチュワート(Johon S.Stewar t)の係属中のPCT特許出願(RCA 87,18 2)に詳細に記載されてい るように、例えば、遠隔制御装置から入力されたユーザ制御信号に応答し、チュ ーナ44と、復調器46と、復号器ユニット48及び50と、輸送プロセッサ5 6と相互作用的に動作する。要約すると、マイクロコントローラ60は、ユーザ のチャネル選択に応じてチューナ44に周波数制御信号を供給し、 チューナ44を適切なチャネルに同調させる。QPSK復調器46は、同調され たチャネルと同期し、復調された信号を復号器48に供給し、受信された信号の 品質(例えば、SN比)を表わす信号品質制御信号をマイクロコントローラ60 に供給する。復調器46は、更に、復調器46が入力信号と同期しているかどう かを示す復調器ロック制御信号をマイクロコントローラ60に供給する。 復号器48は、ユニット46からの復調された信号内のビットエラーを復号化 、訂正するためビタビのアルゴリズムを使用する。復号器48は、復調された信 号を効率的に復号化するため、その動作を到来する復調信号に同期させるべく、 周知の内部回路網を含む。復号器48は、送信器に与えられたエラー訂正符号化 レートに対応した二つのエラー訂正復号化レートの中の一方で動作する。衛星4 0が低電力モードで動作するとき、伝送された信号は、例えば、レート2/3の エラー訂正符号を使用する。衛星40が高電力モードで動作するとき、伝送され た信号は、レート6/7のエラー訂正符号を使用する。符号レート制御信号、例 えば、マイクロコント ローラ60の比較器回路網により発生された2値の信号 は、符号器48によって使用された符号レートを変更しないままにすべきか、或 いは、別のプログラムされた符号レートに切換えるべきであるかを示す。符号レ ート制御信号は、復号器48に、復号化のエラーの発生を示すリード−ソロモン 復号器52からのエラー信号と結合され、低品質の受信された信号を示す信号品 質信号の関数、或いは、復調器46が受信された信号にロックされて(同期させ られて)いないことを示す復調器ロック信号の関数として符号レートを変更する よう指令してもよい。 復号器48が所定の入力信号に対し不正確なエラー訂正符号レートを用いてい るならば、RS復号器52が正常な出力を発生する可能性は少ない。復号器52 からのエラー信号は、復調器46からの信号品質及び復調器ロック信号に関して 解析される。後者の2個の 信号が、入力信号は許容可能な品質をなし、かつ、復調器46が入力信号と同期 していることを示すならば、復号器48が受信された信号とは異なる符号レート を使用していること、即ち、伝送された信号のエラー訂正符号レートが送信器で 変更されたことに起因して、エラー信号によって表わされた復号化エラーが発生 させられる可能性がある。信号品質又は復調器ロック信号が、低品質の受信され た信号又は復調器の同期の欠如を示すならば、エラー信号は、不正確な符号レー トが復号器48により使用されることよりも(例えば、レイン状のフェード(rai n fade)によって発生した)上記要因に起因する。マイクロプロセッサ60は、 制御信号を再度検査する前に、所定の時間を待機する。 デ−インターリーブ器50は、データ信号パケットの順序を元のシーケンスに 戻し、周知の技術に従ってリード−ソロモンブロックを形成する。この目的のた め、デ−インターリーブ器27は、各RSブロックの先頭で符号器によって挿入 された8ビット同期語に依存し、これにより、RSブロック同期が得られる。デ −インターリーブされた信号はリードソロモン復号器28に供給される。Detailed Description of the Invention     Data decryption device for pay television signal receiving system                            Background of the Invention   FIELD OF THE INVENTION The present invention relates to the field of digital video signal processing, and in particular, for example in broadcasting satellites. For decrypting television signals received from transmission channels such as You.   Subscriber video and television such as cable and satellite / reception systems The service restricts access to paid subscribers only, so it uses control words or "keys". Is often used to encrypt various broadcast services such as video and audio. . The encryption process on the transmitter side is performed according to various techniques. Some of the above techniques Is "American National Standard Data Encryption Algorithm" ANSI X3.92-1 981 and "Information Systems-Data Encryption Algorithms-Modes of Operation" It is described in American National Standard "ANSI X3.106-1983".                            Summary of the invention   At the receiver of a signal that may contain encrypted information, decryption of the receiver The bit selection processor associated with the decryption function of the processor is Improved behavior by utilizing combinatorial logic networks rather than uptables Indicates the work speed.                          Brief description of the drawings   In the drawing:   FIG. 1 is a block diagram of a decryption device according to the principles of the present invention.   2 is a satellite video signal transmitter including the decryption device of FIG. 1 in the transport unit of FIG. It is a block diagram of a transmission and reception system.   FIG. 3-13 is a block diagram to help understand the decryption operation of the device shown in FIG. It is a chart and a table.   14 and 15 are state diagrams and related diagrams of the input main state machine of the system of FIG. 1, respectively. It is a figure showing the logical table.   16 and 17 are state diagrams of the output state machine of the system of FIG. 1 and related figures, respectively. It is a figure showing a logic table.                            Detailed description   The decryption device shown in FIG. 1 is based on the "American national standard data encryption algorithm". Digital data as described in ANSI X3.92-1981. Data encryption / decryption algorithm, which is a standard algorithm for encrypting and decrypting Operates in accordance with Gorythm (DEA). In particular, the device of FIG. Data encryption algorithm-American national standard "ANSI" for modes of operation   "Electronic Codebook Mode" as described in X3.106-1983. Works with. In this example, the received input data stream is a pay TV Encryption, including data from five sources or "services" associated with the When the decryption device provides 10 decryption keys, 2 for each service Is assumed. By alternately using two keys for each service, Periodic change of the unused key is the current cipher with the other key. The advantage is that the reading process can be performed without interruption. According to the DEA standard, each key , A 56 bit decryption bit and 8 parity check bits It's a word. In the disclosed system, 8 parity bits are used. Not.   The input signal is either encrypted ciphertext data or unencrypted plaintext data. Either may be included. According to the DEA standard, "plain text" has a meaning, A clear text or signal that can be read and used and that The standard algorithm This is a process of converting a ciphertext into a plaintext using a computer. Input signal is 8 bits / byte Is a parallel 8-byte data stream. Input 8-byte shift register 10 Receives input data of 1 byte at a time according to the clock. Clock signal The numbers are not shown to simplify the figure. Thus, each 8 bits (1 byte) Since it is put into the register 10 in synchronization with the clock during the clock cycle, Eight clock cycles are required to completely fill star 10 with 64 bits You. Elements 12, 14, 16 and 18 form a decryption processor. Input cash register The loading of the star 10 is done by the decryption processor from the previous input cycle. End while executing the data decoding algorithm on 64 bits of data. (Less than, The standard data decoding algorithm (described) consists of 16 iterations. , 8 clock cycles are needed to fill register 10, decryption The clock speed of processor elements 12, 14, 16 and 18 depends on the clock of the input register. It is twice as fast as the lock speed, that is, the speed to receive the next 8 bytes of input data. Twice as fast as   The decryption operation is under the control of the state machine 20, eg a microcontroller. . The state machine 20 restores the data after the remaining 64 bits of the input data are obtained. It may be programmed to put the system on standby during encryption, or Make the system proceed with the decoding of new data immediately after the decoding of the previous data has finished. It may be programmed. The state machine 20 starts the input control signal (START). And output control (CONTROL) signal in response to bypass (BYPASS) I do.   The bypass signal is a plaintext data of the input that is not scrambled Normal decryption behavior should be modified to keep the same format at the output of the reading network That is, that the decryption process should be bypassed. State machine 20 The output control signal from these devices outputs this bypass instruction to the decryption processing elements 12 and 16. Force state machine 2 Communicate to 2. To bypass the decryption operation for plaintext data input, The instrument 20 causes the “I” register 12 to receive the load from the input register 10, and Dista 12 does 16 times (in "idles") without repeating Wait an interval to achieve the decoding iterations of (described with respect to FIG. 3), then The contents of register 12 are sent to output register 26. Of the input of the output register 26 The final data replacement (reverse replacement) must be the reverse of the initial replacement of the register 12 input. Since it is predetermined that the plaintext output data from the register 26 Matches the Riki plain text data. Thus, the decryption bypass function is the decryption processing circuit. Circuits related to the use of switching networks to switch plaintext data around the network and The advantage is realized that does not depend on the complexity of the interface.   The input ciphertext / plaintext digital signal received and processed by the above system is The data component to be encoded and the related header component that stores the data identification information. It is in the form of a data packet that contains. The header is not encrypted. To unit 20 The input bypass control signal is detected by the input signal processing circuitry (not shown). It is generated according to the control bit included in the header of the received data packet. Uni As described above, the control signal from the computer 20 is repeated 16 times in the plaintext bypass mode. During that time, information is included that causes the register 12 to be left in a blank state. Unit 2 The control signal from 0 causes the multiplexer in register 12 to output the output of unit 10. Further information is included to allow selection of either the force or the output of unit 18 for processing. I have. The start signal input to the unit 20 is input to the unit 20 in front. Generated by signal processing circuitry (not shown), the unit 20 receives 8 bytes data packet is detected, and after 8 bytes are detected (input register 10 is filled), the output of the input register 10 to the register 12 Information to be loaded is generated on the control signal line. In addition, this information is Block The output state machine 22 is informed that the data processing pipeline has been entered, and the data block After completing the 16-step iterative decryption process as described above, It is output from the shift register 26 under control.   14 and 15 show the state diagram of the state machine 20 and the associated logic table, respectively. I have. When the start signal is received, the unit 20 first Encryption by loading 64-bit input data from the Initialize the decryption system. Unit 20 then performs 16 iterations of decryption. Unit 20 then waits for the next start signal. Cryptanalysis process In anticipation of the last start signal still appearing at the end of Go to the state "End-Wait" and wait until the start signal disappears, then 20 waits for the next start signal. 19 states, as shown in this example Only a 5-bit data word between 10001 and 11111 The 13 states involved are unused and do not appear.   16 and 17, the state diagram of output state machine 22 and the associated logic are shown. When the control signal is received, the signal indicates that the data is being decoded or the data is Data is bypassed through the device in bypass mode. Unit 22 Then moves to the ready state. The state machine 20 sends a signal indicating the end of the decryption process. Then, the output state machine 22 has 8 bytes (state S1To S8) Is counted. Uni But 22 Follow it by ending the count at R8. Cryptanalysis at the end of the count If the reading is not finished yet, the unit 22 moves to the ready state and decrypts. Wait until the process is completed. End signal while states R1 through R8 are in use If received, the coun At the end of the session, the state machine 22 immediately moves on to the delivery of the next 8 bytes.   The code word substitution defined by the DEA standard is equivalent to the units 12, 14, 1 of FIG. Proper placement of data bits on the data link interconnecting 6 and 18 It is realized by. The decryption bit selection function performed by the unit 18 is a combination. Advantages can be obtained by implementing a logic network. Especially the bit selection machine Noh is realized by a combinational logic arrangement of 6-input and 4-output, as described below. May be. By using combinatorial logic to perform the bit select function, For example, hardware economy and using ROM-based lookup tables It is conceivable that a faster operation of the selection function can be obtained than the above.   The output state machine 22 outputs the next 64-bit sequence by the unit 12-18. Processed and another 64-bit sequence is obtained by the input register 10. While simultaneously, the plaintext output of 1 byte at a time is output through the register 26. Can be transmitted to Le. The output state machine 22 indicates that the next 64 bits are not completely decrypted. The last byte of a given sequence is output register 2 6 may be programmed to wait until communicated by The device 22 may immediately begin delivering the next 64-bit plaintext output sequence. Yes. Thus, the state machine 22 and the output register 26 have a delayed or non-uniform data Waits when they occur at different rates, or the unit 22 is Shift the data block out of register 26 so that it will appear when it occurs You. The output state machine 22 indicates that new data has been processed but has not been fully decrypted. If not, or the new data has been decrypted and passed through register 26. And waiting for delivery to the output channel, new data is decrypted. Determine if it is being processed by the reading network. This is, for example, The control from unit 20 indicating that the block was decrypted after 16 iterations. You It is determined according to the signal information.   When there is plaintext input information that is not encrypted in "bypass" mode The input plaintext information is transferred from the input register 10 to the decryption processor unit 12 and And the decryption processor unit transmitted to the output register 26 via 12 and 18 show the modified behavior in this mode. In particular, the block of FIG. The output of unit 18 corresponding to 622 is used during 16 repeating cycles No decryption is performed during that iteration cycle.   In the bypass mode, the register 12 does nothing during the bypass mode as follows. It is realized by putting it in a non-conforming state. 64-bit input is accepted in bypass mode When received, the decryption processor and the state machine 20 determine the decryption operation mode and the actual state. Starts in a qualitatively similar way. The data is a permutation of the bit positions as above It is transferred from the shift register 10 to the register 12. 16 iterations of decryption At, the right half of register 12 gets the previous left half of register 12, The left half of the star 12 acquires the output of the combinational logic circuit 18. But bypass In mode, there is only one iteration. In this single bypass iteration, The right half of the register 12 acquires the left half before the register 12, and the left half of the register 12 Gets the previous right half of register 12. The register 12 is the output register 26. Maintains its value until it is ready to receive data from register 12. Regis The data 12 maintains its value by transmitting the output to the input at each clock.   The DEA data encryption / decryption algorithm performed by the device of FIG. For more specific information, refer to the DEA publication "American National Standards Data Encryption Algorithms." Mu ", based on American National Standard X3.92-1981. The encryption process is essentially the reverse of the encryption process described in detail below.   The data encryption / decryption algorithm is under the control of a 64-bit key. It is designed to encrypt and decrypt 64-bit data blocks. Recovery Encryption uses the same key that was used for encryption, but the decryption process The schedule for addressing key bits has been changed so that I have.   The block to be encrypted undergoes an initial permutation "IP" and then a complex key-dependent Substituent IP which is the inverse of the initial replacement-1Receive. Key-dependent Is defined in terms of the encryption function "f" and the key schedule function "KS". You. The calculation and encryption operation will be described below. The following notation makes sense below. It is convenient to understand. Given two blocks L and R of bits In this case, LR indicates a block consisting of L bits followed by R bits. this The linkage is cohesive, so for example B1, B2. . . B8Is B8A bit of I ... . . Similarly, B2Followed by a bit B1A block of bits Show.   The encryption calculation is shown in FIG. 64 bits of input block to be encrypted 1 is given in Table 1 of FIG. 4 before being received by register 12 of FIG. Receive the initial replacement IP as obtained. The replaced input has bit 58 of the input As the first bit, bit 50 as the second bit, and so on. As the last bit. The permuted input block is then Input into the complex key-dependent calculations described below. Above called "preceding output" The output of the calculation then undergoes the permutation given in Table 2 of FIG. 5, which is the inverse of the initial permutation. . Thus, the output of the algorithm makes bit 40 of the preceding output the first bit Bit 8 of the preceding block, and so on. Bit 25 is the last bit of the output. Where done with the input of register 12 Period replacement relocates the wiring that connects the output of unit 10 to the input of unit 12. It is done by doing. Alternatively, this can be done by using logic networks. Can be. At the input of the output register 26 The reverse permutation performed is likewise realized.   The above calculation inputs the replaced input block to produce the preceding output block. Use as force. Except for the final block permutation, the computation is a 32-bit block. The operation is performed on two blocks, a lock block and a 48-bit block. 16 iterations of a set of operations involving the computation of the cryptographic function f to generate a block of It is composed of For example, if 64 bits of the input block to the iteration The input block consists of a block L and a 32-bit block R that follows. Consider the case shown as LR. 48-bit K selected from a 64-bit key , The output L'R 'of the iteration on the input LR is     L '= R     R '= L + f (R, K) (Formula 1) In the above example, “+” is a modulo 2 of 1 bit. Indicates addition.   As mentioned above, the input of the first iteration of the calculation is the permuted input block. If L'R 'is the output of the 16th iteration, then R'L' is the previous output block. is there. At each iteration, a different block K in the key bits is called 64 KEY. Selected from the key of bits. It is selected in response to a control signal from unit 20. An optional 56 bit shift register 16 is used. Especially shift register 16 then shifts the 56 bits of the activated key to 1 or 2 positions for each iteration. Shift by two, as shown by the function "K" at the output of the shift register 16. 48 bits are selected at the same time. In the case of the above example, between the units 16 and 18 48 bits are selected by appropriately configuring the wiring bus. Key lock An example of a tool is the above-mentioned "American National Standard Data Encryption Algorithm" ANS IX3.92-1981. Explain the calculation iteration in more detail . KS is an integer in the range 1 to 16 as input Take "n" and a 64-bit block KEY, and output the bit from KEY as an output. 48-bit block K, which is the permuted selection ofn   Kn= KS (n, KEY) (Equation 2) If it is a function that generatesnIs 48 distinct bit positions in the KEY Defined by a bit within. Block used in the nth iteration of Equation 1 above Block K defined by equation 2nTherefore, KS Called. As described above, the replaced input block is represented by LR. L and R are husbands Ln-1And Rn-1And K is KnL0And R0L respectively And R, LnAnd RnAre represented by L'and R ', respectively. That is, n is 1 to 16 When in the range of   Ln= Rn-1   Rn= Ln-1+ F (Rn-1, Kn) (Formula 3) It is. Leading output is R16L16It is. The key schedule KS is based on the DEA publication "A Merica National Standard Data Encryption Algorithm "American National Standard X3.92- Required for the above algorithm, as described in more detail in 1981. Kn16 values are generated.   Applied to the preceding output block during the decryption operation performed by the apparatus of FIG. Reverse replacement IP-1(Final replacement in FIG. 1) is the initial replacement IP applied to the input. The opposite is true. From Equation 1,   R = L '   L = R '+ f (L', K) (Equation 4) Is obtained. Therefore, to perform the decryption, the block cipher is The same block of key bits K that was used during encryption is encrypted The same algorithm is used for encrypted messages, noting that it is used during decryption. It only has to be applied to the aging block. This concept has the following formula:   Rn-1= Ln   Ln-1= Rn+ F (Ln, Kn) (Equation 5) , Where R16L16Is the replaced input block for the decoding computation. And L0R0Is the preceding output block. That is, as the replaced input R16L16For the decryption computation on16Is used for the first iteration, KFifteenIs 2 Used for the second iteration, and so on, for K1Is used for the 16th iteration. In this regard, the permutation performed at the transmitter / cryptographic device is the receiver / decryptor device. Note that it is the reverse of the permutation performed on the device. Thus, the darkness of Figure 1 The initial permutation (IP) of the decryptor is the corresponding reverse permutation performed by the cryptographic device. .   The 16-step iterative process (FIG. 3) requires the combinational logic bit selection network 18 of FIG. Contains the calculation of 16 key-dependent cryptographic functions f (R, K) performed by You. f (R, K) is actually a decryption function in the context of the decryption device of FIG. Need to understand that. The decryption function is the encryption performed by the transmitter / encryption device. It is the opposite of the conversion function. FIG. 6 is a complementary detailed view of circuitry 18. See FIG. In addition, each calculation consists of a 32-bit block “R” designated by the number 610, This is performed for the 48-bit block “K” indicated by the numeral 616. Block R is half of the input 64-bit data block, K is 64 bits It is a block of 48 bits selected from the key of. Block R is block R And K match the length of block K when combined by unit 626 So that the function "E" executed by unit 612 causes 48 bits (block 614). As mentioned above, for each iteration, there are 48 key bit differences. Block K is a 64-bit key (shifted) according to a predetermined schedule Is selected (replaced) from.   The combinatorial logic bit selection network 628 essentially forms the basis of the encryption / decryption function. A plurality of unique selection functions S to form1,. . . S8Including No. Each selection function S1,. . . S86 received from the exclusive OR logic network 626 Generate unique combinations of the four output bits in response to the input bits. That is, Each selection function uses one original set of bits instead of another set of bits. No. The replacement of bits 6 to 4 complies with the DEA standard. The original bi that was replaced Whether the operation was performed at the transmitter / encryptor or the receiver / decryptor Depending on, either plaintext bits or encrypted bits.   More specifically, in FIG. 6, block 610 is converted to unit 12 of FIG. 1 represents the input data block of the element E, and element E is an expansion block performed in unit 12 of FIG. Represents the tension function. Block 614 is a 48-bit block from unit 12 of FIG. Output block. Block 616 is the input of unit 18 of FIG. 2 represents an output data block from unit 16 of FIG. Times The permutation function P shown by the network 626, the processor 628 and the element 620 is , Generate a 32-bit data block of the output indicated by numeral 622 in FIG. 1 within unit 18 of FIG. Elements 612, 614, 620 and 6 of FIG. 28 executes the encryption function "f" shown in FIG. The element of FIG. 6, in particular the element 612, 614, 626, 628 and 620 handle both encryption and decryption. Used in.   In FIG. 6, element E receives a 32-bit input block and a 48-bit output block. It represents an extension function that creates a force block. Function E is 6 bits each The 48 output bits depicted as 8 blocks are shown in Table 3 of FIG. A function such as that obtained by selecting the input bits in order. Thus, The first 3 bits of E (R) are the bits at positions 32, 1 and 2 of R, and E (R) The last two bits of) are the bits at positions 32 and 1. Each unique bit selection function Number S1, S2,. . . S8Receives a 6-bit input block and a 4-bit output block Generate a lock. This process Function S1The values are shown in Table 4 of FIG. S1Is the function defined by Table 4. Is a number and B is a 6-bit block, S1 (B) is defined as Can be The first and last bits of B are in base 2 binary form and range from 0 to 3. Represents the number inside. The number is represented by "i". The middle 4 bits of B are at base 2 , Represents a number within the range of 0 to 15. The number is represented by "j". Table 4 Smell The numbers in the i-th row and j-th column are in the range 0 to 15 Uniquely represented by a block. The block is S1 which is S1 for input B. It is the output of (B). For example, for a binary input 011011, the line 01 (ie row 1) and the column is defined by the binary number 1101 (ie row 13). Can be Since the number 5 is in row 1 and column 13, the binary output is 0101. You. Selection function S1, S2,. . . S8The complete set of is shown in Table 6 of FIG.   Selection function S1Table 4 which defines the , May be used as it is. However, for the system shown in FIG. 1, the table of FIG. 1 to facilitate the use of combinatorial logic networks rather than lookup tables , Were repositioned as shown in FIG. In particular, the table shown in FIG. Thus, a 6-bit input B can be used without changing the order of the bits in B (at base 2 ) The table has been rearranged to represent numbers in the range 0-63. Table space in Figure 11 In this case, the “output” is the above amount S1(B) is shown.   The table of FIG. 11, as shown in the table of FIG. A unique 4-bit output (representing) produces the above output (a number in the range 0-63). Be used to determine four possible 6-bit B inputs. , Was further arranged. That is, the table of FIG. 12 shows that 4 bits of output and 6 bits of practicable 2 represents the relationship between the B input of the G. Finally, it is represented by the table shown in FIG. A Boolean algebraic expression has been created that describes the parsed function. This Boolean algebraic expression is Using conventional logic circuit design techniques, a combination for the selection function shown by the table in FIG. Used to synthesize logic circuits. In FIG. 13, the Boolean expressions of the table of FIG. 12 are combined. The VHDL code for embedding is shown. Selection function S1Figure 8 and for A technique similar to that described for the tables shown in 11-13 is shown in Table 6 of FIG. Each other bit selection function S2,. . . S8Combined logic circuit for Used to create a boolean expression that Relocate the above decryption table to the transmitter / You can do it with a cryptographic device, but that doesn't mean you have to Absent.   The permutation function P replaces the bits of the input block to obtain a 32-bit input. Generate a 32-bit output block from the force block. The replacement function is shown in Table 5 of FIG. Is defined in. The output P (L) for the function P defined by this table is L The 16th bit of L is regarded as the 1st bit of P (L), and the 7th bit of L Is regarded as the second bit of P (L), and the same applies to the 25th bit of L. From the input L by continuing until is considered the 32nd bit of P (L) Can be S1,. . . S8If is eight different selection functions, then P is a permutation function Yes, E is an extension function. Block B to define f (R, K)1,. . . B8Are defined as blocks of 6 bits each and   B1B2. . . B8= K + E (R) (Equation 6) It is. Block f (R, K) is therefore   P (S1(B1) S2(B2). . . S8(B8)) (Equation 7) Is determined to be Thus, K + E (R) is initially shown in Equation 6 Is divided into 8 blocks. Next, each BiIs SiGiven as input to 8 blocks S each consisting of 4 bits1(B1), S2(B2). . . SThree (B8) Are combined into a single block of 32 bits that forms the input to P. It is. The output (shown in equation 7) is the output of the function f for inputs R and K.   In the satellite transmitter / receiver system of FIG. 2, the transmitter side receives signals from the signal source 30. Process issue. In the above example, the signal source 30 includes, for example, payload data generation. A transport package containing the minutes and associated header components that describe the contents of the associated data components. Multiple audio and video sources, including a television signal source that stores information in the form of Includes deo source. Data packets from the respective signal sources are transmitted to the units 32 and 3 Undergo asynchronous time division multiplexing (ATDM) on the output path before being processed by .   The signal from the source 30 is the unit 3 containing the MPEG encoder in the above example. 2, encoding and compression are performed. MPEG is a moving image and accompanying audio Established by the Video Expert Group of the International Standards Organization for Coded Representation of It is an international standard. The encoded signal from unit 32 contains error correction data. 4-division unit for encoding a signal containing the signal and QPSK modulating the encoded signal on a carrier Phase shift keying (QPSK) modulator and FEC (forward error corrector) 34. Unit 34 includes convolution and Reed Solomon ( Both RS) encoding is performed. The uplink unit 36 is compressed and encoded. The received signal to a satellite 40 that broadcasts the signal to the reception area of the selected area. . In this example, the satellite 40 is two satellites that considers the balance between channel capacity and transmission power. It works in the same mode. In one mode, the satellite 40 has 120 watts each 16 channels of transmission, and in the other mode, 8 of 240 watts each To transmit the channel.   The signal from the satellite 40 is received by an antenna (not shown) and input to the receiver. It is coupled to the tuner circuit 44. The output signal from the tuner 44 is the unit 46 QPSK demodulated by and decoded using units 48, 50 and 52, Supply to transport processor 56 Is done. A suitable QPSK demodulator for use as unit 46 is the Mary Run Hughes Network Systems (Germany, Germany) 016212) and Comstream Inc. of San Diego, California No. CD 2000). The transport processor 56 Depending on the content of the signal from the unit 52, eg audio or video information. Transport the encoded output signal from unit 52 to an appropriate decoder in unit 62 You. The transport unit 56 receives the corrected data packet from the unit 52, The header of each packet is examined to determine its route. Figure of transport unit 56 1 includes a decryption device shown in FIG. In case of satellite pay system, it is encrypted No plaintext information is entered for each of the header data, decryption key, and multiple sources. It includes a list of available program materials, audio, and miscellaneous items. Satellite cis Systems typically use a larger number of channels for decryption than broadcast or cable systems. It is provided with a larger program listing, which is advantageous in that it need not be read.   The audio and video signals from unit 62 are respectively fed to an audio processor. The video signal to a standard NTSC consumer television receiver 68. NTSC television signal video code encoding into a format suitable for use by Is supplied to the encoder 64. The audio signal from the unit 66 is output from the receiver 68. Supplied to audio input.   Microcontroller 60 is based on Johon S. Stewart. t) in the pending PCT patent application (RCA 87,182). , In response to a user control signal input from the remote control device, Ar 44, demodulator 46, decoder units 48 and 50, and transport processor 5 It works interactively with 6. In summary, the microcontroller 60 is The frequency control signal is supplied to the tuner 44 according to the channel selection of Tune tuner 44 to the appropriate channel. The QPSK demodulator 46 is tuned The demodulated signal to the decoder 48 in synchronization with the received channel The signal quality control signal indicating the quality (for example, SN ratio) is sent to the microcontroller 60. To supply. The demodulator 46 also determines if the demodulator 46 is synchronized with the input signal. A demodulator lock control signal indicating that is supplied to the microcontroller 60.   Decoder 48 decodes the bit errors in the demodulated signal from unit 46. , Use Viterbi algorithm to correct. Decoder 48 is the demodulated signal. In order to efficiently decode the signal, to synchronize its operation with the incoming demodulated signal, Includes well-known internal circuitry. The decoder 48 uses the error correction coding provided to the transmitter. It operates at one of the two error correction decoding rates corresponding to the rate. Satellite 4 When the 0 operates in the low power mode, the transmitted signal is, for example, at rate 2/3. Use error correction code. Transmitted when the satellite 40 operates in high power mode The signal uses a rate 6/7 error correction code. Code rate control signal, example For example, a binary signal generated by the comparator network of the microcontroller 60. Should the code rate used by the encoder 48 remain unchanged, or No, indicates whether to switch to another programmed code rate. Code The remote control signal indicates to the decoder 48 a Reed-Solomon signal indicating the occurrence of a decoding error. A signal product that is combined with the error signal from the decoder 52 to indicate a low quality received signal. A function of the quality signal, or if the demodulator 46 is locked (synchronized to the received signal). Change code rate as a function of demodulator lock signal to indicate May be instructed.   Decoder 48 is using an incorrect error correction code rate for a given input signal. If so, the RS decoder 52 is unlikely to produce a normal output. Decoder 52 Error signal from the demodulator 46 with respect to signal quality and demodulator lock signal. Parsed. The latter two The signal is of acceptable quality and the demodulator 46 is synchronized with the input signal. , The decoder 48 has a different code rate than the received signal. That the error correction code rate of the transmitted signal is Decoding error represented by the error signal has occurred due to the modification There is a possibility to be made. Signal quality or demodulator lock signal is poor quality received Error signal, or the lack of synchronization of the demodulator, the error signal indicates an incorrect code rate. Is used by the decoder 48 (e.g., rain fades (rai (caused by n fade)). The microprocessor 60 Wait a predetermined amount of time before checking the control signal again.   The de-interleaver 50 changes the order of the data signal packets to the original sequence. Return and form Reed-Solomon blocks according to known techniques. For this purpose Therefore, the de-interleaver 27 is inserted by the encoder at the beginning of each RS block. Depending on the 8-bit sync word performed, this results in RS block sync. De The interleaved signal is fed to the Reed-Solomon decoder 28.

【手続補正書】特許法第184条の8 【提出日】1995年9月29日 【補正内容】 請求の範囲 1. 暗号化された情報が入る信号を含むディジタルビデオ信号を処理するシス テムにおけるディジタル信号処理装置であって、 暗号化された情報を含むことがあるディジタル信号に応答する入力手段(10 )と、 該入力手段からの暗号化された情報を含む信号に応答し、暗号解読された情報 をその出力に提供する暗号解読手段(12−18)と、 該暗号解読手段の該出力から出力チャネルに信号を伝達する出力手段(26) とからなり、 該暗号解読手段は、第1の所定の数の出力ビットを第2の所定の数の入カビッ トに応じて提供する複数のビット選択関数(S1,...,S8)を実行する組合 せ論理手段(628)を利用する暗号解読関数手段(18)を含む装置。 2. 該暗号解読手段は、暗号解読関数(f(R,K))及び所定ビット選択関 数の計算を夫々が含む複数の反復計算を実行する手段を更に有する請求項1記載 の装置。 3. 各暗号化関数は鍵依存形である請求項2記載の装置。 4. 該暗号解読手段が、該ビット選択関数の中の夫々の関数と個別に関係した 複数の組合せ論理手段を更に含む請求項2記載の装置。 5. 該暗号解読手段がDEA規格に従って動作する請求項1記載の装置。 6. 有料衛星放送システムに含まれた請求項1記載の装置。[Procedure Amendment] Patent Law Article 184-8 [Date of submission] September 29, 1995 [Amendment content] Claims 1. A digital signal processing device in a system for processing a digital video signal containing a signal containing encrypted information, the input means (10) responsive to the digital signal which may contain encrypted information, and the input. Decryption means (12-18) for providing decrypted information to its output in response to a signal containing encrypted information from the means, and transmitting a signal from the output of the decryption means to an output channel. Output means (26) for providing a first predetermined number of output bits according to a second predetermined number of input bits, the plurality of bit selection functions (S 1 ,. .., device comprising decryption function means (18) utilizing a combination logic means (628) for executing S 8). 2. Apparatus as claimed in claim 1, wherein said decryption means further comprises means for performing a plurality of iterative calculations each including a calculation of a decryption function (f (R, K)) and a predetermined bit selection function. 3. The apparatus of claim 2, wherein each encryption function is key dependent. 4. 3. The apparatus of claim 2, wherein said decryption means further comprises a plurality of combinational logic means individually associated with each function of said bit selection functions. 5. An apparatus according to claim 1, wherein said decryption means operates according to the DEA standard. 6. The apparatus of claim 1 included in a pay satellite broadcasting system.

───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AT,AU,BB,BG,BR,BY, CA,CH,CN,CZ,DE,DK,ES,FI,G B,HU,JP,KP,KR,KZ,LK,LU,LV ,MG,MN,MW,NL,NO,NZ,PL,PT, RO,RU,SD,SE,SK,UA,US,UZ,V N────────────────────────────────────────────────── ─── Continuation of front page    (81) Designated countries EP (AT, BE, CH, DE, DK, ES, FR, GB, GR, IE, IT, LU, M C, NL, PT, SE), OA (BF, BJ, CF, CG , CI, CM, GA, GN, ML, MR, NE, SN, TD, TG), AT, AU, BB, BG, BR, BY, CA, CH, CN, CZ, DE, DK, ES, FI, G B, HU, JP, KP, KR, KZ, LK, LU, LV , MG, MN, MW, NL, NO, NZ, PL, PT, RO, RU, SD, SE, SK, UA, US, UZ, V N

Claims (1)

【特許請求の範囲】 1. 暗号化された情報が入る信号を含むディジタルビデオ信号を処理するシス テムにおけるディジタル信号処理装置であって、 暗号化された情報を含むことがあるディジタル信号に応答する入力手段(10 )と、 該入力手段からの暗号化された情報を含む信号に応答し、暗号解読された情報 をその出力に提供する暗号解読手段(12−18)と、 該暗号解読手段の該出力から出力チャネルに信号を伝達する出力手段(26) とからなり、 該暗号解読手段は、複数のビット選択関数(S1,...,S8)を実行する組 合せ論理手段(628)を利用する暗号解読関数手段(18)を含む装置。 2. 該暗号解読手段は、暗号解読関数(f(R,K))及び所定ビット選択関 数の計算を夫々が含む複数の反復計算を実行する手段を更に有する請求項1記載 の装置。 3. 各暗号化関数は鍵依存形である請求項2記載の装置。 4. 該暗号解読手段が、該ビット選択関数の中の夫々の関数と個別に関係した 複数の組合せ論理手段を更に含む請求項2記載の装置。 5. 該暗号解読手段がDEA規格に従って動作する請求項1記載の装置。 6. 有料衛星放送システムに含まれた請求項1記載の装置。[Claims] 1. A digital signal processing device in a system for processing a digital video signal containing a signal containing encrypted information, the input means (10) responsive to the digital signal which may contain encrypted information, and the input. Decryption means (12-18) for providing decrypted information to its output in response to a signal containing encrypted information from the means, and transmitting a signal from the output of the decryption means to an output channel. And a decryption function means (18) utilizing combinational logic means (628) for executing a plurality of bit selection functions (S 1 , ..., S 8 ). ) Including a device. 2. Apparatus as claimed in claim 1, wherein said decryption means further comprises means for performing a plurality of iterative calculations each including a calculation of a decryption function (f (R, K)) and a predetermined bit selection function. 3. The apparatus of claim 2, wherein each encryption function is key dependent. 4. 3. The apparatus of claim 2, wherein said decryption means further comprises a plurality of combinational logic means individually associated with each function of said bit selection functions. 5. An apparatus according to claim 1, wherein said decryption means operates according to the DEA standard. 6. The apparatus of claim 1 included in a pay satellite broadcasting system.
JP7524608A 1994-03-18 1994-03-18 Data decryption device for pay television signal receiving system Pending JPH09510592A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/US1994/002942 WO1995026086A1 (en) 1994-03-18 1994-03-18 Data decryption apparatus in a subscription television signal receiving system
BR9408552A BR9408552A (en) 1994-03-18 1994-03-18 Apparatus for processing digital signals in a digital video signal processing system including signals containing encrypted information

Publications (1)

Publication Number Publication Date
JPH09510592A true JPH09510592A (en) 1997-10-21

Family

ID=25664662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7524608A Pending JPH09510592A (en) 1994-03-18 1994-03-18 Data decryption device for pay television signal receiving system

Country Status (5)

Country Link
EP (1) EP0750813A4 (en)
JP (1) JPH09510592A (en)
AU (1) AU6520694A (en)
BR (1) BR9408552A (en)
WO (1) WO1995026086A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2812312B2 (en) * 1996-01-12 1998-10-22 三菱電機株式会社 Encryption system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4172213A (en) * 1977-11-17 1979-10-23 Burroughs Corporation Byte stream selective encryption/decryption device
US4274085A (en) * 1979-06-28 1981-06-16 Motorola, Inc. Flexible mode DES system
USRE33189E (en) * 1981-11-19 1990-03-27 Communications Satellite Corporation Security system for SSTV encryption
US4484027A (en) * 1981-11-19 1984-11-20 Communications Satellite Corporation Security system for SSTV encryption
US4613901A (en) * 1983-05-27 1986-09-23 M/A-Com Linkabit, Inc. Signal encryption and distribution system for controlling scrambling and selective remote descrambling of television signals
US4731843A (en) * 1985-12-30 1988-03-15 Paradyne Corporation Method and device of increasing the execution speed of cipher feedback mode of the DES by an arbitrary multiplier
JPH03214834A (en) * 1990-01-19 1991-09-20 Canon Inc Multi-medium network system
US5237610A (en) * 1990-02-01 1993-08-17 Scientific-Atlanta, Inc. Independent external security module for a digitally upgradeable television signal decoder
US5285497A (en) * 1993-04-01 1994-02-08 Scientific Atlanta Methods and apparatus for scrambling and unscrambling compressed data streams

Also Published As

Publication number Publication date
BR9408552A (en) 1997-08-19
WO1995026086A1 (en) 1995-09-28
AU6520694A (en) 1995-10-09
EP0750813A4 (en) 1998-08-19
EP0750813A1 (en) 1997-01-02

Similar Documents

Publication Publication Date Title
US5285497A (en) Methods and apparatus for scrambling and unscrambling compressed data streams
EP0713621B1 (en) Method and apparatus for uniquely encrypting a plurality of services at a transmission site
US6028933A (en) Encrypting method and apparatus enabling multiple access for multiple services and multiple transmission modes over a broadband communication network
US8442226B2 (en) Decryption key management
US5778074A (en) Methods for generating variable S-boxes from arbitrary keys of arbitrary length including methods which allow rapid key changes
RU2146421C1 (en) Decoding of data subjected to repeated transmission in encoding communication system
JPH0756831A (en) Method for transmission and reception of program for personal use
JPH05500298A (en) encryption device
KR100930036B1 (en) Duplicate stream password information in the next packet of encrypted frames
CA2873159C (en) Encryption/decryption of program data but not psi data
JPH09510592A (en) Data decryption device for pay television signal receiving system
JPH09510593A (en) Data decryption device for pay television signal receiving system
CN108124182B (en) Multi-path demultiplexing method and device
Samarakoon et al. Encrypted video over TETRA
JPH08202262A (en) Device and method for signal processing
KR100232140B1 (en) Descrambling apparatus of digital broadcast signal
CN1153581A (en) Data decryption apparatus in subscription television signal receiving system
CN1147890A (en) Data decryption apparatus in a subscription television signal receiving system