Block Cipher & Data integrity


### Block Cipher for Data Security
after key exchange, message encryption symmetric algorithm
```type{{encryption algorithm}}_{{key size}}_{{mode}}```


![](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F6347b6d3-a240-45c2-8c3d-38f26c107d50%2FUntitled.png?table=block&id=ef7042a8-a4bb-44ee-88e2-9d93f6412a99&cache=v2)


Cipher **`Mode of operation`**** **for data integrity
> 
> [GCM6](https://texonom.com/gcm6-65b95a64e4ad48c68b62aad52e47c3df)
> 
> 
> [CCM](https://texonom.com/ccm-819e5474bf0e4f0e82b9269eafbc6cf3)
> 
> 
> [CBC](https://texonom.com/cbc-165f88e5caab4eca9a3a1cae1db48322)
> 

[HMAC](https://texonom.com/hmac-2ae71ce9fc2a4c8d8c435acab7b88ede)


데이터 암호화는 기밀성을 제공해주지만, 무결성을 제공해주지 않기 때문에 별도의 무결성 검증 방식을 사용합니다.
HMAC으로 인증값을 생성하거나, 애초 암호화할 때 인증값을 포함한 Authenticated Encryption(ex.CCM, GCM)을 사용할 수 있습니다.


![](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F88113553-70ba-48f8-ac89-6d1c819125f8%2FUntitled.png?table=block&id=81d22c0e-1f4e-4242-99e7-d58225eb59b0&cache=v2)




