Linux heracles.o2switch.net 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
/
opt
/
alt
/
ruby27
/
share
/
ri
/
system
/
OpenSSL
/
PKey
/
DH
/
//opt/alt/ruby27/share/ri/system/OpenSSL/PKey/DH/cdesc-DH.ri
U:RDoc::NormalClass[iI"DH:ETI"OpenSSL::PKey::DH;TI"OpenSSL::PKey::PKey;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"LAn implementation of the Diffie-Hellman key exchange protocol based on ;TI"Ldiscrete logarithms in finite fields, the same basis that DSA is built ;TI"on.;To:RDoc::Markup::BlankLine S:RDoc::Markup::Heading: leveli: textI"7Accessor methods for the Diffie-Hellman parameters;To:RDoc::Markup::List: @type: NOTE:@items[ o:RDoc::Markup::ListItem:@label[I" DH#p;T;[o; ;[I"AThe prime (an OpenSSL::BN) of the Diffie-Hellman parameters.;To;;[I" DH#g;T;[o; ;[I"GThe generator (an OpenSSL::BN) g of the Diffie-Hellman parameters.;To;;[I"DH#pub_key;T;[o; ;[I"KThe per-session public key (an OpenSSL::BN) matching the private key. ;TI"/This needs to be passed to DH#compute_key.;To;;[I"DH#priv_key;T;[o; ;[I"1The per-session private key, an OpenSSL::BN.;T@S;;i; I"Example of a key exchange;To:RDoc::Markup::Verbatim;[ I"'dh1 = OpenSSL::PKey::DH.new(2048) ;TI"Xder = dh1.public_key.to_der #you may send this publicly to the participating party ;TI"&dh2 = OpenSSL::PKey::DH.new(der) ;TI":dh2.generate_key! #generate the per-session key pair ;TI".symm_key1 = dh1.compute_key(dh2.pub_key) ;TI".symm_key2 = dh2.compute_key(dh1.pub_key) ;TI" ;TI"*puts symm_key1 == symm_key2 # => true;T:@format0: @fileI"ext/openssl/ossl_pkey_dh.c;T:0@omit_headings_from_table_of_contents_below0;0;0[ [ [ [[I" class;T[[:public[ [:protected[ [:private[[I" generate;TI"ext/openssl/ossl_pkey_dh.c;T[I"new;T@Q[I" instance;T[[;[ [;[ [;[[I"compute_key;T@Q[I"export;T@Q[I"generate_key!;T@Q[I"initialize_copy;T@Q[I"params;T@Q[I"params_ok?;T@Q[I" private?;T@Q[I"public?;T@Q[I"public_key;T@Q[I"set_key;T@Q[I"set_pqg;T@Q[I"to_der;T@Q[I"to_pem;T@Q[I" to_s;T@Q[I"to_text;T@Q[ [U:RDoc::Context::Section[i 0o;;[ ;0;0[I"ext/openssl/ossl_pkey.c;TI"OpenSSL::PKey;TcRDoc::NormalModule