sitelink1 | |
---|---|
sitelink2 | |
sitelink3 | |
sitelink4 | |
extra_vars5 | |
extra_vars6 |
http://tech.g.hatena.ne.jp/koseki/?word=*%5B%E6%9A%97%E5%8F%B7%5D■ [暗?][OpenSSL] OpenSSL使い方メモ (https://www.stackasterisk.jp/tech/sonomama/openssl01_02.jsp;jsessionid=aTAxklJT5ue- )
RSA秘密鍵の生成
openssl genrsa -aes256 1044 > private.pem
RSA公開鍵の生成
openssl rsa -in private.pem -pubout -out public.pem
公開鍵で暗?化してbase64でエンコ?ド
echo -n "aaaa" | openssl rsautl -encrypt -pubin -inkey public.pem | openssl base64
man rsautl
base64でデコ?ドして秘密鍵で復?化
cat cryptfile.txt | openssl base64 -d | openssl rsautl -decrypt -inkey private.pem
■ [暗?] RSA暗?の最大サイズ (http://jp2.php.net/manual/ja/function.openssl-public-encrypt.php#55901)
暗?化するデ?タは、鍵より小さくなければならない。
PKCS#1のパディングで11byte使う。
(鍵256bit - パディング88bit) / 8 = 21byteまで
(鍵512bit - パディング88bit) / 8 = 53byteまで
(鍵1024bit - パディング88bit) / 8 = 117byteまで
http://java.sun.com/developer/onlineTraining/Programming/BasicJava2/crypto.html
http://www.codecomments.com/archive327-2006-4-890170.html
http://study.rakuto.net/exec/content/browse/crypt/
分割して暗?化するPHPのコ?ド
http://pages.infinit.net/ctech/20031101-0151.html (詳しい)
117バイトずつ分割してもいいけど?い。鍵交換を使うべき。
128bitの??鍵(AES?)のほうが、1024bitの非??鍵(RSA)より?力。(!本??)
http://jp2.php.net/manual/ja/function.openssl-seal.php
RSA + RC4。
■ [Java][暗?] JCA / JCE
JCA (Java Cryptography Architecture)
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/security/CryptoSpec.html (日本語)
http://java.sun.com/j2se/1.4.2/docs/guide/security/CryptoSpec.html (英語)
JCE (Java Cryptography Extension)
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/security/jce/JCERefGuide.html (日本語)
http://java.sun.com/j2se/1.4.2/docs/guide/security/jce/JCERefGuide.html (英語)
JCA とは、Java プラットフォ?ムに暗?機能を開?し、これにアクセスするためのフレ?ムワ?クのことです。
Java 暗?化?張機能 (JCE) は、JCA API を?張して暗?化、鍵交換、およびメッセ?ジ認?コ?ド (MAC) 用の API を組み?んだものです。
JCA ... java.security.*に組み?まれている
JCE ... javax.crypto.*の全て + "SunJCE"プロバイダ
■ [Java][暗?] JCA
APIとSPIがある。APIはアプリケ?ションが使う。SPIをプロバイダが??する。
APIのクラスのことをエンジンクラスと呼ぶ。
エンジンクラス(API)はSPIを?承。
MessageDigestSpi > MessageDigest
プロバイダによるサ?ビス??もSPIを?承。
MessageDigestSpi > sun.security.provider.MD5
APIはSPIをprivateのフィ?ルドとして持ち、SPIメソッドの呼び出しはSPIインスタンスに委?される。
RSA秘密鍵の生成
openssl genrsa -aes256 1044 > private.pem
RSA公開鍵の生成
openssl rsa -in private.pem -pubout -out public.pem
公開鍵で暗?化してbase64でエンコ?ド
echo -n "aaaa" | openssl rsautl -encrypt -pubin -inkey public.pem | openssl base64
man rsautl
base64でデコ?ドして秘密鍵で復?化
cat cryptfile.txt | openssl base64 -d | openssl rsautl -decrypt -inkey private.pem
■ [暗?] RSA暗?の最大サイズ (http://jp2.php.net/manual/ja/function.openssl-public-encrypt.php#55901)
暗?化するデ?タは、鍵より小さくなければならない。
PKCS#1のパディングで11byte使う。
(鍵256bit - パディング88bit) / 8 = 21byteまで
(鍵512bit - パディング88bit) / 8 = 53byteまで
(鍵1024bit - パディング88bit) / 8 = 117byteまで
http://java.sun.com/developer/onlineTraining/Programming/BasicJava2/crypto.html
http://www.codecomments.com/archive327-2006-4-890170.html
http://study.rakuto.net/exec/content/browse/crypt/
分割して暗?化するPHPのコ?ド
http://pages.infinit.net/ctech/20031101-0151.html (詳しい)
117バイトずつ分割してもいいけど?い。鍵交換を使うべき。
128bitの??鍵(AES?)のほうが、1024bitの非??鍵(RSA)より?力。(!本??)
http://jp2.php.net/manual/ja/function.openssl-seal.php
RSA + RC4。
■ [Java][暗?] JCA / JCE
JCA (Java Cryptography Architecture)
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/security/CryptoSpec.html (日本語)
http://java.sun.com/j2se/1.4.2/docs/guide/security/CryptoSpec.html (英語)
JCE (Java Cryptography Extension)
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/security/jce/JCERefGuide.html (日本語)
http://java.sun.com/j2se/1.4.2/docs/guide/security/jce/JCERefGuide.html (英語)
JCA とは、Java プラットフォ?ムに暗?機能を開?し、これにアクセスするためのフレ?ムワ?クのことです。
Java 暗?化?張機能 (JCE) は、JCA API を?張して暗?化、鍵交換、およびメッセ?ジ認?コ?ド (MAC) 用の API を組み?んだものです。
JCA ... java.security.*に組み?まれている
JCE ... javax.crypto.*の全て + "SunJCE"プロバイダ
■ [Java][暗?] JCA
APIとSPIがある。APIはアプリケ?ションが使う。SPIをプロバイダが??する。
APIのクラスのことをエンジンクラスと呼ぶ。
エンジンクラス(API)はSPIを?承。
MessageDigestSpi > MessageDigest
プロバイダによるサ?ビス??もSPIを?承。
MessageDigestSpi > sun.security.provider.MD5
APIはSPIをprivateのフィ?ルドとして持ち、SPIメソッドの呼び出しはSPIインスタンスに委?される。