私はpaillier cryptosystemを使ってランダムなデータを暗号化し、最初はバイト配列の形にしてから、大きな整数に変換します。バイト配列が負の大きな整数になると、復号化された数字と入力番号は異なります基本的に負の大きな整数では機能しません)。入力が正か負になるかをチェックせずにこの作業を行う方法はありますか?pailler暗号システムは、負の大きな整数を暗号化および復号化できますか?
0
A
答えて
0
いいえ、すべてがnを法として計算されるため、負の数は使用できません。
はい、数値に変換した値がnより小さい値であれば、任意の配列を使用できます。
この場合、new BigInteger(1, plaintext)
を使用すると、常に正の数になります。最初のパラメータは符号です。
特定の構造にはエンコードが必要な場合があります。最上位ビットはゼロのビット値と(>メッセージ - > Paillier暗号化 - >エンコード暗号文及び解読暗号文 - > Paillier暗号解読 - - >デコードmessage-> encode->数に変換)。
データを数値にエンコード/デコードする方法の例については、I2OSPとOS2IPを参照してください。
+0
おかげで、それが動作する方法ポジティブになるようマールテンBodewesが彼の答えで提案されているように私はそれを変更私がしたいように – LPepe
関連する問題
- 1. 暗号化および復号化クラス?
- 2. php暗号化から暗号文を復号できない
- 3. のC#、Dapperの、POCOおよび暗号化/復号化は
- 4. Azureストレージアクセスキーを暗号化および復号化する方法
- 5. SAMLアサーションを暗号化および復号化する方法
- 6. 大きなファイルの暗号化/復号化(.NET)
- 7. Java Classオブジェクト暗号化/復号化およびオブジェクトデータベース
- 8. 復号化、暗号化
- 9. RSA暗号化/復号化
- 10. AES暗号化/復号化
- 11. 暗号化と復号化
- 12. カスタム暗号化暗号化/復号化ストリーム
- 13. bashでバックアップファイルを暗号化および復号化する簡単な方法
- 14. シンプルな暗号化/復号化
- 15. テキストファイルからの暗号化/復号化
- 16. C#の整数データの暗号化と復号化
- 17. iphoneでのRSA暗号化/復号化
- 18. パスワードでの暗号化と復号化
- 19. RSAを使用してjavaの大きな文字列を暗号化および復号化する
- 20. AES暗号化は、復号化は、Java
- 21. Qt/C++でファイルを暗号化および復号化する方法は?
- 22. Javaでサウンドファイルを暗号化および復号化する方法は?
- 23. 復号化暗号文キー、プレーンテキスト、およびアルゴリズム
- 24. RSA暗号化キーを復号化できない
- 25. .NET4でSQLiteデータベースを暗号化/復号化できません
- 26. Java暗号化:整数値を暗号化する
- 27. stringをbase64に暗号化および復号化する方法は?
- 28. perlの暗号化、delphi7の復号化
- 29. Muleコミュニティ版の暗号化/復号化
- 30. Yii URLの暗号化/復号化
大きな整数をバイト配列に変換して戻しますか? – kennytm
私はこの 'BigIntegerのM1 =新しいBigIntegerの(データ)のようなものを使用していました;'と 'm1.toByteArray()'が、BigIntegerのはいつも – LPepe