buddy-core icon indicating copy to clipboard operation
buddy-core copied to clipboard

Feature request: Support :poly1305+chacha20

Open ysangkok opened this issue 6 years ago • 2 comments

As specified in RFC 8439 and used in the Lightning Protocol (BOLT-08).

ysangkok avatar Jul 31 '19 22:07 ysangkok

If you need this, you can use http://GITHUB.COM/lvh/caesium or (Java 11)

(defn javaenc [msg iv keyb]
  (let [mamboSpec (javax.crypto.spec.IvParameterSpec. iv)
         k4 (javax.crypto.spec.SecretKeySpec. keyb "ChaCha20")
         ci (doto (javax.crypto.Cipher/getInstance "ChaCha20-Poly1305")
                  (.init javax.crypto.Cipher/ENCRYPT_MODE k4 mamboSpec))]
       (->
         (.doFinal ci msg)
         (hexlify))))

IV is 12 bytes. Key is 32 bytes.

ysangkok avatar Aug 02 '19 23:08 ysangkok

PR welcome ;)

niwinz avatar May 01 '21 09:05 niwinz