Para desarrollar algo por el estilo desde cero, debes conocer las especificaciones de los protocolos.
Puede servirte como punto de partida la entrada
Transport Layer Security en la Wikipedia. Al final encontrarás una lista de los rfc's que sirven de base a los protocolos.
Debo advertirte que implementar esto en cualquier lenguaje de programación no es una tarea trivial.
Hasta luego.
