2017-03-25 17 views
-2

RC6で文字列を暗号化および復号化したいのですが、 がCrypto ++ライブラリでどのように動作するのかわかりません。暗号化を使用してRC6で暗号化と復号化を行う方法

ありがとう!

+3

いくつかの問題があります。この質問は、過度に広がり、研究に欠けており、一般的な指示を探しているようです。 CryptoPPライブラリのオンラインドキュメントはどんなコードを書いていますか、これまでに試してみたことがありますか?どのような方法で見ていますか? 。また、以前に他の暗号ライブラリを使用しましたか?もしそうなら、その経験とCryptoPPの使用を対照し、他の経験から得たCryptoPPの予想される動作を説明してください。 –

+0

こんにちは、私はコード例を見つけることができませんが、私はCryptoPPのドキュメントを読んだが、私はRC6の暗号化と文字列の解読がどのように理解できないのですか? !ありがとう – dirac

+2

RC6はAES候補の1つです。これは、ライブラリによって提供される多くのブロック暗号の1つです。 AES用のCrypto ++コードを見つけ、AES→RC6のコピー/ペーストを実行します。その場合、Camelliaや3DESなどのブロック暗号がこのインスタンスで動作するはずです。私たちは[RC6](https://www.cryptopp.com/wiki/RC6)のwikiにページを追加しましたが、Camelliaのコピー/ペーストだけです。 – jww

答えて

2

ここでは、AESを使用して文字列を暗号化するためにライブラリを使用する方法を示すのスニペットがあります(jwwが指摘したように、「RC6はAES候補の1つです」)、スニペットはRC6の出発点

byte key[AES::DEFAULT_KEYLENGTH], iv[AES::BLOCKSIZE]; 
string plainText; 

// ... populate key, iv, plainText here 

string cipher; 
StringSink* sink = new StringSink(cipher); 
Base64Encoder* base64_enc = new Base64Encoder(sink); 
CBC_Mode<AES>::Encryption aes(key, sizeof(key), iv); 
StreamTransformationFilter* aes_enc = new StreamTransformationFilter(aes, base64_enc); 
StringSource source(plainText, true, aes_enc); 

インターネットでCrypto ++ライブラリのサンプルコードを検索すると、この情報が見つかりました。確かに、それは私が期待していたように私が見つけることはまっすぐではありませんでした。

StackOverflowの関連サイドバーは、Encrypt/Decrypt byte array Crypto++のQ & Aのように私が助けてくれると信じている他のページを指しています。

更新日:今日は更新日(2017年3月26日)がthe RC6 web page at the Crypto++ wiki siteになりました。 RC6固有のコードがあり、必要なもののように見えます。

+0

これはAESであり、RC6ではありません。 – TheGreatContini

+2

@TheGreatContiniはい合意しました。 AESは正確にRC6ではありません。今日誰かがcrypto ++ wikiのウェブサイトを編集し、特にRC6のコードを追加しました。これを指摘するために私の答えを更新しました。 –

+1

@LouisLangholtz - フィードバックループとしてStack Overflow(およびメーリングリスト)を使用します。ユーザーが問題を抱えている場合、最初に行うのは迅速な死後のことです。あるユーザーが質問をした場合、他のユーザーが質問をします。この場合、貢献要因の1つは、私たちの文書化の欠如でした。 – jww