# AES GCM encryption for mediasoup

**URL:** <https://mediasoup.discourse.group/t/aes-gcm-encryption-for-mediasoup/1218>\
**Category:** mediasoup libraries\
**Created:** [June 8, 2020, 3:51am UTC](https://mediasoup.discourse.group/t/aes-gcm-encryption-for-mediasoup/1218 "2020-06-08T03:51:25Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Manish](https://avatars.discourse-cdn.com/v4/letter/m/a6a055/32.png) [@Manish](https://mediasoup.discourse.group/u/Manish)\
**Post date:** [June 8, 2020, 3:51am UTC](https://mediasoup.discourse.group/t/aes-gcm-encryption-for-mediasoup/1218/1 "2020-06-08T03:51:25Z")

</div>

Is it possible to use AES GCM encryption mechanism for encrypt/decrypt mediastream?

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [June 8, 2020, 7:53am UTC](https://mediasoup.discourse.group/t/aes-gcm-encryption-for-mediasoup/1218/2 "2020-06-08T07:53:08Z")

</div>

Too short question. Let’s do this another way: which encryption mechanism is mediasoup using now?

---

<div class="post-metadata">

**Author:** ![Manish](https://avatars.discourse-cdn.com/v4/letter/m/a6a055/32.png) [@Manish](https://mediasoup.discourse.group/u/Manish)\
**Post date:** [June 10, 2020, 3:51am UTC](https://mediasoup.discourse.group/t/aes-gcm-encryption-for-mediasoup/1218/3 "2020-06-10T03:51:27Z")

</div>

HMAC\_SHA1 I believe.

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [June 10, 2020, 9:33am UTC](https://mediasoup.discourse.group/t/aes-gcm-encryption-for-mediasoup/1218/4 "2020-06-10T09:33:57Z")

</div>

Based on what you think so?

---

<div class="post-metadata">

**Author:** ![Manish](https://avatars.discourse-cdn.com/v4/letter/m/a6a055/32.png) [@Manish](https://mediasoup.discourse.group/u/Manish)\
**Post date:** [June 11, 2020, 3:09am UTC](https://mediasoup.discourse.group/t/aes-gcm-encryption-for-mediasoup/1218/5 "2020-06-11T03:09:19Z")

</div>

> **[mediasoup :: SRTP Parameters](https://mediasoup.org/documentation/v3/mediasoup/srtp-parameters/#SrtpCryptoSuite)**
>
> Cutting Edge WebRTC Video Conferencing

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [June 11, 2020, 8:22am UTC](https://mediasoup.discourse.group/t/aes-gcm-encryption-for-mediasoup/1218/6 "2020-06-11T08:22:15Z")

</div>

As the doc says that is just for SRTP over plain or pipe transport. In WebRTC world, SRTP ciphers are negotiated using DTLS, so check `DtlsTransport.cpp`.

---

<div class="post-metadata">

**Author:** ![Manish](https://avatars.discourse-cdn.com/v4/letter/m/a6a055/32.png) [@Manish](https://mediasoup.discourse.group/u/Manish)\
**Post date:** [June 12, 2020, 3:58am UTC](https://mediasoup.discourse.group/t/aes-gcm-encryption-for-mediasoup/1218/7 "2020-06-12T03:58:03Z")

</div>

Ok. @ibc  
I didn’t understand anything from DtlsTransport.cpp because I don’t know c++ but I saw SrtpAesGcm256MasterKeyLength so I believe AES GCM can be used with this [https://mediasoup.org/documentation/v3/mediasoup/api/#webRtcTransport-connect](https://mediasoup.org/documentation/v3/mediasoup/api/#webRtcTransport-connect)
