2 %UV WX $Y Z[ $\ $]^ $_ $` a Wb Wc de Zf dg hij k l $m $n opq $r s ot Zu Zvw x $y $z ${ $|}~pLjava/math/BigInteger;gee_array[BfKK_array myKpairGen Ljava/security/KeyPairGenerator; myKeyAgreeLjavax/crypto/KeyAgreement;()VCodeLineNumberTableLocalVariableTablethisLcom/jcraft/jsch/jce/DH;init ExceptionsgetE()[BdhSkipParamSpec#Ljavax/crypto/spec/DHParameterSpec;myKpairLjava/security/KeyPair; myPubKeyEnc StackMapTablegetKmyKeyFacLjava/security/KeyFactory;keySpec#Ljavax/crypto/spec/DHPublicKeySpec; yourPubKeyLjava/security/PublicKey;mySharedSecretsetP([B)VsetGsetF(Ljava/math/BigInteger;)V SourceFileDH.java 45DH 01 23 *(!javax/crypto/spec/DHParameterSpec '( )( 4  ;  ?#javax/crypto/interfaces/DHPublicKey ? +, .( !javax/crypto/spec/DHPublicKeySpec -( 4 ?java/math/BigInteger 4O /, NR PR QRcom/jcraft/jsch/jce/DHjava/lang/Objectcom/jcraft/jsch/DHjava/lang/Exceptionjava/security/KeyPairGenerator getInstance4(Ljava/lang/String;)Ljava/security/KeyPairGenerator;javax/crypto/KeyAgreement/(Ljava/lang/String;)Ljavax/crypto/KeyAgreement;/(Ljava/math/BigInteger;Ljava/math/BigInteger;)V initialize.(Ljava/security/spec/AlgorithmParameterSpec;)VgenerateKeyPair()Ljava/security/KeyPair;java/security/KeyPair getPrivate()Ljava/security/PrivateKey;(Ljava/security/Key;)V getPublic()Ljava/security/PublicKey;java/security/PublicKey getEncodedgetY()Ljava/math/BigInteger; toByteArrayjava/security/KeyFactory.(Ljava/lang/String;)Ljava/security/KeyFactory;E(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)VgeneratePublic7(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;doPhase)(Ljava/security/Key;Z)Ljava/security/Key;generateSecret!$%& '()(*(+,-(.(/,0123 456/*7%8 9:;56E**71 358 9:<=>?6_*VY* * L*+ * M*,,N*,***7& 789:';2=<>O?ZA8*C@A'3BC<D,_9:EZ<=F?6]*TLY** * M+,N*-W*:*Y** * * 7* DE F!G'H1I:JGKRQXS84 KGH!7IJ'1KL:M,]9:EX<=NO6A *Y+!7U8 9: ',PO6A *Y+"7V8 9: ),QO6A *Y+#7W8 9: -,NR6:*+ 7X89:'(PR6:*+ 7Y89:)(QR6:*+7Z89:-(ST