1*e7b1675dSTing-Kang Chang# Java Streaming AEAD example 2*e7b1675dSTing-Kang Chang 3*e7b1675dSTing-Kang ChangThis example shows how to encrypt files with Tink using Streaming Authenticated 4*e7b1675dSTing-Kang ChangEncryption with Associated Data (Streaming AEAD). 5*e7b1675dSTing-Kang Chang 6*e7b1675dSTing-Kang ChangIt demonstrates the basic steps of using Tink, namely loading key material, 7*e7b1675dSTing-Kang Changobtaining a primitive, and using the primitive to do crypto. 8*e7b1675dSTing-Kang Chang 9*e7b1675dSTing-Kang ChangThe key material was generated with Tinkey: 10*e7b1675dSTing-Kang Chang 11*e7b1675dSTing-Kang Chang```shell 12*e7b1675dSTing-Kang Changtinkey create-keyset --key-template AES128_GCM_HKDF_4KB --out-format JSON \ 13*e7b1675dSTing-Kang Chang --out streaming_aead_test_keyset.json 14*e7b1675dSTing-Kang Chang``` 15*e7b1675dSTing-Kang Chang 16*e7b1675dSTing-Kang Chang## Build and Run 17*e7b1675dSTing-Kang Chang 18*e7b1675dSTing-Kang Chang### Bazel 19*e7b1675dSTing-Kang Chang 20*e7b1675dSTing-Kang Chang```shell 21*e7b1675dSTing-Kang Changgit clone https://github.com/google/tink 22*e7b1675dSTing-Kang Changcd tink/examples/java_src 23*e7b1675dSTing-Kang Changbazel build ... 24*e7b1675dSTing-Kang Chang``` 25*e7b1675dSTing-Kang Chang 26*e7b1675dSTing-Kang ChangEncrypt a file: 27*e7b1675dSTing-Kang Chang 28*e7b1675dSTing-Kang Chang```shell 29*e7b1675dSTing-Kang Changecho "some data" > testdata.txt 30*e7b1675dSTing-Kang Chang./bazel-bin/streamingaead/streamingaead_example encrypt \ 31*e7b1675dSTing-Kang Chang ./streamingaead/streaming_aead_test_keyset.json \ 32*e7b1675dSTing-Kang Chang testdata.txt testdata.txt.encrypted 33*e7b1675dSTing-Kang Chang``` 34*e7b1675dSTing-Kang Chang 35*e7b1675dSTing-Kang ChangDecrypt a file: 36*e7b1675dSTing-Kang Chang 37*e7b1675dSTing-Kang Chang```shell 38*e7b1675dSTing-Kang Chang./bazel-bin/streamingaead/streamingaead_example decrypt \ 39*e7b1675dSTing-Kang Chang ./streamingaead/streaming_aead_test_keyset.json \ 40*e7b1675dSTing-Kang Chang testdata.txt.encrypted testdata.txt.decrypted 41*e7b1675dSTing-Kang Chang 42*e7b1675dSTing-Kang Changdiff testdata.txt testdata.txt.decrypted 43*e7b1675dSTing-Kang Chang``` 44