Compare commits

...

26 Commits

Author SHA1 Message Date
Kris
24c17b5973 Merge branch 'master' of git.amongbytes.com:kris/qrtesting 2019-01-22 11:52:18 +01:00
Kris
d247e76edc PQ client HRSS and SIDH 2019-01-22 11:51:22 +01:00
574a592610 Update README.md 2019-01-20 22:52:10 +00:00
Kris
25bfbeddd6 WIP 2018-12-03 16:32:13 +01:00
d1b0f8ad35 Update README.md 2018-11-20 15:37:42 +00:00
d092de9a64 Update README.md 2018-11-20 15:30:14 +00:00
fb2d400de8 Update README.md 2018-11-20 15:29:43 +00:00
Kris
000aeb893a Latest update 2018-11-12 13:41:29 +00:00
Kris
7f12695bea pq: introduces caddy with post quantum crypto 2018-10-14 17:42:37 +00:00
Kris
e8534e5b70 PQ on TLSv1.3 2018-09-27 10:00:26 +00:00
Kris
1b65c75276 WIP 2018-09-16 23:50:09 +00:00
Kris
94776052c9 new server on master with TLS1.3 final 2018-09-16 20:08:25 +00:00
Kris
d8f1889d05 server release 1.10-4 2018-09-16 20:01:17 +00:00
Kris
3590b2843b Removes draft 28 2018-09-16 19:23:38 +00:00
48bd7e2518 gotls13-t2: new server 2018-08-20 14:24:27 +01:00
Kris
da3e743be0 introduces gotls13. as an alias 2018-08-20 13:06:07 +00:00
6f3137a96a adds gotls13 2018-08-20 14:04:05 +01:00
52d5d86230 gotls13-t2: 8c13c5ed 2018-08-20 10:25:08 +01:00
Kris
bf1f2e49f4 gotls13-t2: fix name 2018-08-20 09:16:08 +00:00
9ed3a1600a adds TLS_AES_128_GCM_SHA256 back 2018-08-20 10:13:21 +01:00
7d105a8ffc gotls13-t2: enable only few ciphers 2018-08-20 09:21:13 +01:00
8054dddf07 Merge branch 'pq_t1_certs' into 'master'
pq_t1: certs

See merge request kris/qrtesting!3
2018-08-19 22:37:56 +00:00
bfbb5106d4 Merge branch 'certs' into 'master'
pq-t2: copy certificates

See merge request kris/qrtesting!2
2018-08-19 22:29:45 +00:00
Kris
15043df717 pq_t1: certs 2018-08-19 22:27:33 +00:00
Kris
4f18961131 pq-t2: copy certificates 2018-08-19 22:26:44 +00:00
41a5dc81b8 Merge branch 'pq-t2_new_bin' into 'master'
Pq t2 new bin

See merge request kris/qrtesting!1
2018-08-19 21:05:23 +00:00
22 changed files with 132 additions and 13 deletions

View File

@ -1,14 +1,24 @@
# TLS testing
# Servers
## Servers
## Quantum-resistant key exchange
### Quantum-resistant key exchange
### golang based
* ``pq-t1.amongbytes.com``: SIDH tests
* ``pq-t2.amongbytes.com``: SIDH tests - TLS 1.3 only is supported
* ``pq.amongbytes.com``: SIDH/P503-x25519, SIDH/751-x448
* ``pq-t1.amongbytes.com``: SIDH tests: Test phase 1. Allowed to be broken
### TLS-TRIS
* ``gotls13-t1.amongbytes.com``: Testing branch of tls-tris. It supports only TLS 1.3 (0x0304)
* ``gotls13-t2.amongbytes.com``: Testing branch of tls-tris. It supports only TLS 1.3 Draft 28
* ``gotls13-p1.amongbytes.com``: Testing branch of tls-tris - master branch
* ``gotls13-r1.amongbytes.com``: Testing branch of tls-tris - latest release
### BoringSSL based (SIDH/P503-X25519 only - mainly for toure/interoperability testing)
| domain | SNI | desc |
|--------|-----|------|
| pq.amongbytes.com | pq-clang.amongbytes.com | Clang on X64_64 with all optims |
| pq.amongbytes.com | pq-clang-san.amongbytes.com | Clang with sanitizers on x86_64 with optims |
| pq.amongbytes.com | pq-gcc.amongbytes.com | GCC with all optims on x86_64 |
| pq.amongbytes.com | pq-gcc-nop.amongbytes.com | GCC without optims on x86_64 |
| pq.amongbytes.com | pq-arm8.amongbytes.com | ARMv8 with optims and out of order execution |
| pq.amongbytes.com | pq-arm8-nop.amongbytes.com | aarch64 without optims out of order execution |
| pq.amongbytes.com | pq-arm8-noo.amongbytes.com | aarch64 without optims without OoO|
| pq.amongbytes.com | pq-arm7.amongbytes.com | armv7 without optims without OoO|
## TLS-TRIS
* ``gotls13.amongbytes.com``: Currently alias to gotls13-p1 (referenced at https://github.com/tlswg/tls13-spec/wiki/Implementations)

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,4 @@
NAME=gotls13-p2
NAME=gotls13-t2
PORT=50603
build:
mkdir -p certs
@ -13,4 +13,3 @@ restart:
docker rm ${NAME}
docker run --detach --restart always --name ${NAME} -p ${PORT}:443 ${NAME}

Binary file not shown.

View File

@ -0,0 +1,8 @@
FROM buildpack-deps
EXPOSE 443
ADD bin/bssl /bin
ADD bin/bssl_client /
ADD req.txt /
CMD [ "/bssl_client" ]

View File

@ -0,0 +1,8 @@
NAME=pq-gcc-amd64-client
build:
docker build -t ${NAME} .
run:
docker run --detach --restart always --name ${NAME} ${NAME}
restart:
docker restart ${NAME}

Binary file not shown.

View File

@ -0,0 +1,15 @@
#!/bin/bash
COUNT=0
while [ 1 ]; do
bssl client -curves CECPQ2 -connect www.cloudflare.com -server-name www.cloudflare.com < /req.txt
bssl client -curves X25519-SIDHp503 -connect www.cloudflare.com -server-name www.cloudflare.com < /req.txt
bssl client -curves P-521 -connect www.cloudflare.com -server-name www.cloudflare.com < /req.txt
COUNT=$((COUNT + 1))
if [ $COUNT -eq 1000 ]; then
COUNT=0
echo "SLEEPING"
sleep 1
fi
done

View File

@ -0,0 +1,4 @@
GET / HTTP/1.0
Host: www.cloudflare.com

9
images/pq-gcc/Dockerfile Normal file
View File

@ -0,0 +1,9 @@
FROM buildpack-deps
EXPOSE 443
ADD bin/bssl /
CMD mkdir certs
ADD certs/privkey.pem certs/
ADD certs/fullchain.pem certs/
CMD [ "./bssl", "server", "-curves", "CECPQ2:X25519-SIDHp503:X25519:P-256:P-384:P-224:P-521", "-accept", "443", "-loop", "-www", "-cert", "certs/fullchain.pem", "-key", "certs/privkey.pem" ]

12
images/pq-gcc/Makefile Normal file
View File

@ -0,0 +1,12 @@
NAME=pq-gcc-amd64
PORT=50601
build:
mkdir -p certs
cp ../../cert/fullchain.pem certs/
cp ../../cert/privkey.pem certs/
docker build -t ${NAME} .
run:
docker run --detach --restart always --name ${NAME} -p ${PORT}:443 ${NAME}
restart:
docker restart ${NAME}

BIN
images/pq-gcc/bin/bssl Executable file

Binary file not shown.

View File

@ -1,9 +1,12 @@
NAME=pq-t1
PORT=50510
build:
mkdir -p certs
cp ../../cert/fullchain.pem certs/
cp ../../cert/privkey.pem certs/
docker build -t ${NAME} .
run:
docker run --detach --restart always --name ${NAME} -p 50510:443 ${NAME}
docker run --detach --restart always --name ${NAME} -p ${PORT}:443 ${NAME}
restart:
docker restart ${NAME}

Binary file not shown.

View File

@ -1,6 +1,9 @@
NAME=pq-t2
PORT=50511
build:
mkdir -p certs
cp ../../cert/fullchain.pem certs/
cp ../../cert/privkey.pem certs/
docker build -t ${NAME} .
run:
docker run --detach --restart always --name ${NAME} -p ${PORT}:443 ${NAME}

Binary file not shown.

12
images/pq/Caddyfile Normal file
View File

@ -0,0 +1,12 @@
:443 {
tls fullchain.pem privkey.pem
tls {
protocols tls1.0 tls1.3
curves X25519 P256 "SIDH/503-X25519"
}
log stdout
markdown / {
ext .html
template index.html
}
}

10
images/pq/Dockerfile Normal file
View File

@ -0,0 +1,10 @@
FROM buildpack-deps
EXPOSE 443
ADD certs/privkey.pem /
ADD certs/fullchain.pem /
ADD bin/caddy /
ADD Caddyfile /
ADD index.html /
CMD [ "/caddy", "-conf", "/Caddyfile" ]

12
images/pq/Makefile Normal file
View File

@ -0,0 +1,12 @@
NAME=pq
PORT=50511
build:
mkdir -p certs
cp ../../cert/fullchain.pem certs/
cp ../../cert/privkey.pem certs/
docker build -t ${NAME} .
run:
docker run --detach --restart always --name ${NAME} -p ${PORT}:443 ${NAME}
restart:
docker restart ${NAME}

BIN
images/pq/bin/caddy Executable file

Binary file not shown.

14
images/pq/index.html Normal file
View File

@ -0,0 +1,14 @@
<html>
<head>
<title>TLSv1.3/Post-Quantum test server</title>
</head>
<body>
Connection sucessful <br />
You are using TLS Version: {{.TLSVersion}}
<p>
This page uses <a href="https://github.com/cloudflare/tls-tris">this tls</a> package and <a href="https://caddyserver.com/">Caddy</a> HTTP server.</p>
<p>It was built <a href="http://hdc.amongbytes.com/post/201810-baby-steps-to-pq-https-server/">this</a> way and is used for experimenting with post-quantum cryptography.</p>
</body>
</html>