問題タブ [xtea]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1526 参照

python - 16 進形式のキーを使用した XTEA 復号化

XTEA アルゴリズムを使用して暗号化されたデータを復号化しようとしています。私は128ビットの鍵を持っています。

これまでに確認したすべての実装は、キーを 16 文字の文字列 (ASCII) として受け入れます。ただし、私のキーは 16 進数形式 (32 文字) または 4 つの DWORD です。

データを復号化するためにキーを 16 進形式で指定できる実装はありますか?

オンラインでいくつかの実装を確認しました。たとえば、次のとおりです。

https://code.google.com/p/zzt-code-base/source/browse/trunk/src/python/xtea.py

16 進数形式のキーを使用して復号化するには、ソース コードを変更する必要があります。

具体的には、次の行の関数 xtea_decrypt() で:

キーを 16 進形式で指定できるようにするには、どのような変更を加える必要がありますか?

また、16 進形式のキーを受け入れることができる既存の実装があれば、それが役立ちます。

0 投票する
1 に答える
329 参照

python - Python での XTEA テストベクトル

Python で xtea アルゴリズムのこの実装をテストしようとしています。私が見つけた唯一のテストベクトルはこれらです。バイトごとに比較できるように、アルゴリズムの出力をテストするにはどうすればよいですか? どのパスワード/キーを選択すればよいですか? どのエンディアンが最適でしょうか? (私は 64 ビットの xubuntu/x86/リトル エンディアンを使用しています)

XTEA

最初の 64 ビット テスト入力

テストベクター (ここからコピー)

0 投票する
2 に答える
164 参照

c++ - std::vector を使用した XTEA 関数

XTEA で std::vector を暗号化しようとしています。std::vector を使用すると、大量のデータを扱う際にさまざまな利点が得られるので、使用したいと考えています。

XTEA アルゴリズムは、64 ビットのデータを使用する 2 つの符号なし long (v0 と v1) を使用して、それらを暗号化します。

私の問題は、char ベクトルを unsigned long ポインターに変換する最良の方法を探していることです。

または、暗号化機能のためにベクトルを 64 ビット部分に分割する別の方法はありますか?

0 投票する
1 に答える
309 参照

c# - byte[16] を uint32[4] に取得する

XTEA アルゴリズムを C# で実装しようとしていますが、それを行う関数を見つけました。

ただ、越えなければならないハードルがあります。この関数では、データとキーを UInt32 配列に入れる必要があります。

時間のために、キーを使用可能な形式にすることに関連するものだけを投稿します。

C#擬似コードでやろうとしていることは次のとおりです。

Bitwise OR などを使用する必要があると聞いたことがありますが、それがどのように機能するのか完全にはわかりません。また、BitConverter.ToString を使用して正しく解析し、結果が文字列「666F6F62」であると仮定すると、それを uint32 の 1 つに変換できると聞いたことがあります。しかし、それはずさん/怠惰/非効率的です。

この質問を書いている間、私もこれを試しましたが、うまくいかなくても明確になるかもしれません:

0 投票する
2 に答える
259 参照

encryption - ValueError: キーは 128 ビット長 XTEA でなければなりません

データを暗号化し、TCP ソケット経由でサーバーに送信しようとしています。ただし、次のコードでは ValueError: Key must be 128 bit long というエラーが表示されます。

誰でもこれについてコメントできますか?

0 投票する
2 に答える
507 参照

php - PHP xtea 実装 (cfb)

理解できない奇妙な行動に出くわしました。

一部のデータを暗号化するために mcrypt xtea (cfb モード) を使用しています。PHP 7.2 では mcrypt が取り除かれ、openssl は Xtea をサポートしていないため、アルゴリズムを自分で実装する必要がありました。

問題は、使用されるアルゴリズムに関係なく、次のとおりです。

私は別の結果を得て、さらに、mcryptが使用して与えるものとまったく同じ結果を与えるものはありません:

同じデータ/キー/IV を使用して、ここで行ったさまざまなテストを確認してテストできます。

異なる結果が得られる理由を誰かが知っていますか?