;データテキストボックスの文字交換  [ A〜9⇒1〜8 1〜8⇒A〜9 ]

2jD
3j[1] 4j[@] 2Jr2,3,4   3j[A] 4j[1] 2Jr2,3,4   3j[@] 4j[A] 2Jr2,3,4
3j[2] 4j[A] 2Jr2,3,4   3j[B] 4j[2] 2Jr2,3,4   3j[A] 4j[B] 2Jr2,3,4
3j[3] 4j[B] 2Jr2,3,4   3j[C] 4j[3] 2Jr2,3,4   3j[B] 4j[C] 2Jr2,3,4
3j[4] 4j[C] 2Jr2,3,4   3j[D] 4j[4] 2Jr2,3,4   3j[C] 4j[D] 2Jr2,3,4
3j[5] 4j[D] 2Jr2,3,4   3j[E] 4j[5] 2Jr2,3,4   3j[D] 4j[E] 2Jr2,3,4
3j[6] 4j[E] 2Jr2,3,4   3j[F] 4j[6] 2Jr2,3,4   3j[E] 4j[F] 2Jr2,3,4
3j[7] 4j[F] 2Jr2,3,4   3j[0] 4j[7] 2Jr2,3,4   3j[F] 4j[0] 2Jr2,3,4
3j[8] 4j[G] 2Jr2,3,4   3j[9] 4j[8] 2Jr2,3,4   3j[G] 4j[9] 2Jr2,3,4

%DC %D1 2J" E :E (2MB以下のデータ)
A〜9を適当に入れ換える[8!通り] ( A〜9,1〜8を他の文字にすると、16!/8!通り。)


解読困難となる暗号の例  (1MB以下のデータ)
既定値を変更して暗号化を1回行い、0〜9A〜Fを文字交換する。
( 復元の確認が必要 )

( 暗号化は順列上は10!通り、設定値に近づくと特徴がでるので、実質は10!以下。
 十分文字交換された暗号データは特徴がでないので10!通り。
 暗号データの文字交換は特徴がでないので16!/8!通り。
 暗号化を仮に8!とすると、8!*(16!/8!)=16![通り]。
 16個の順列は16!≒2E13[通り]。 よって16数字に対する暗号として十分と思われる。)


暗号化で生成されたテキストデータを文字交換したときは、
文字交換したことのヒントになってしまうため、
最前の8文字と最後の行を元のデータと同じにする。


設定値に近づいたことを解りにくくするには、
BF⇒QF, QF⇒BF に書換えて、バイナリファイルに変換してから、暗号化する。
( 暗号化を解く処理に逆処理(QF⇒BF, BF⇒QF)を加えなければ、特徴がでないので10!通り。)


通常のファイルをテキストファイルに変換(Alt+R,T)、BFをQFにして保存、
QTFでバイナリファイルに変換してから、FQTで暗号化。
元に戻すには、QTFで暗号化を解いて、FQTでテキストファイルに変換、
QFをBFにして保存、バイナリファイルに変換(Alt+R,B or QTF)。


( セキュリティソフトがONのときは、処理時間が2倍以上になるときがある。)


JrD

[ 2009年 ]

                       
前のページ ATHPトップページ