Êþº¾7«  $net/luminis/quic/crypto/BaseAeadImplQ(Lnet/luminis/quic/Version;Lnet/luminis/quic/Role;Lnet/luminis/quic/log/Logger;)V   S(Lnet/luminis/quic/Version;[BLnet/luminis/quic/Role;Lnet/luminis/quic/log/Logger;)V  at/favre/lib/crypto/HKDFfromHmacSha256()Lat/favre/lib/crypto/HKDF;  !net/luminis/quic/crypto/Aes128GcmhpCipherLjavax/crypto/Cipher;AES/ECB/NoPadding  javax/crypto/Cipher getInstance)(Ljava/lang/String;)Ljavax/crypto/Cipher;javax/crypto/spec/SecretKeySpec ! "#getHp()[B%AES ' (([BLjava/lang/String;)V * +,init(ILjava/security/Key;)V.&java/security/NoSuchAlgorithmException0#javax/crypto/NoSuchPaddingException2%net/luminis/quic/QuicRuntimeException 14 5(Ljava/lang/Exception;)V7!java/security/InvalidKeyException9java/lang/RuntimeException 8; <()V > ?@getHeaderProtectionCipher()Ljavax/crypto/Cipher; B CDdoFinal([B)[BF&javax/crypto/IllegalBlockSizeExceptionH javax/crypto/BadPaddingException J KLpossibleKeyUpdateInProgresssZ N OPnewWriteKeySpec!Ljavax/crypto/spec/SecretKeySpec; R STnewKey[B V WP writeKeySpec Y ZTwriteKey \ ] writeCipher_AES/GCM/NoPadding a b@getWriteCipher d efgetWriteKeySpec#()Ljavax/crypto/spec/SecretKeySpec;h"javax/crypto/spec/GCMParameterSpec gj k(I[B)V m +nB(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V p qr updateAAD([B)Vt0java/security/InvalidAlgorithmParameterExceptionv$net/luminis/quic/DecryptionExceptionx'ciphertext must be longer than 16 bytes uz {(Ljava/lang/String;)V} javax/crypto/AEADBadTagException u;CodeLineNumberTableLocalVariableTablethis#Lnet/luminis/quic/crypto/Aes128Gcm; quicVersionLnet/luminis/quic/Version;nodeRoleLnet/luminis/quic/Role;logLnet/luminis/quic/log/Logger; initialSecret getKeyLength()S getHashLengthgetHKDFkeySpece(Ljava/security/GeneralSecurityException;#Ljava/security/InvalidKeyException; StackMapTable•&java/security/GeneralSecurityExceptioncreateHeaderProtectionMaskmasksampleTAES_GCM_NOPADDINGLjava/lang/String; aeadEncrypt ([B[B[B)[B parameterSpec$Ljavax/crypto/spec/GCMParameterSpec;associatedDatamessagenonce aeadCipher secretKey aeadDecrypt decryptError"Ljavax/crypto/AEADBadTagException; Exceptions SourceFileAes128Gcm.java! T*+,-·±€ *‚ƒ„…†‡ˆ‰ ` *+,-·±€  4 ‚ƒ „… ŠT †‡ ˆ‰‹Œ-¬€# ‚ƒŒ- ¬€( ‚ƒŽ.¸ °€- ‚ƒ?@×B*´Ç9*¸µ»Y*¶ $·&L*´+¶)§L»1Y+·3¿L»8Y·:¿*´°'*-'*/'46€* 2678'?*9+;4<5>=A* P+ ‘5’B‚ƒ“ j”I6–D»*¶=M,+¶AN§ :»8Y·:¿-° E G€FI MJLN> —T‘‚ƒ˜T—T“ÿ™”ü ™efŽA*´I™ *´MÇ*»Y*´Q$·&µM*´M°*´UÇ*»Y*´X$·&µU*´U°€STUW$Z+[<] A‚ƒ“b@—$*´[Ç^L*+¸µ[§ L»1Y+·3¿*´[°-/€cg hlikn  š› ‘$‚ƒ“U” œ :*¶`:*¶c:»gY€-·i:¶l+¶o,¶A°:»8Y·:¿ /06 /0s /0E /0G€"st vw#x)y0z2}RžŸ2‘:‚ƒ: T:¡T:¢T4£ .¤P“ÿ0™™™”¥LU,¾£ »uYw·y¿*¶c:*¶`:»gY€-·i:¶l+¶o,¶A°:»uY·~¿:»8Y·:¿@A|@K6@Ks@KE@KG€2 ƒ†ˆ‰‹*Œ4:ŽACK‘M“\ *žŸC¦§M‘U‚ƒU TU¡TU¢T>¤P8£“#ÿ/™™™|I”¨u©ª