Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
zig-version: ['0.17.0-dev.1441+d5181a9c9']
zig-version: ['0.17.0-dev.1476+91a29d707']
fail-fast: false
steps:
- uses: actions/checkout@v6
- uses: mlugg/setup-zig@v2
with:
version: '0.17.0-dev.1441+d5181a9c9'
version: '0.17.0-dev.1476+91a29d707'
- run: zig build
- run: zig build test

Expand All @@ -30,5 +30,5 @@ jobs:
- uses: actions/checkout@v6
- uses: mlugg/setup-zig@v2
with:
version: '0.17.0-dev.1441+d5181a9c9'
version: '0.17.0-dev.1476+91a29d707'
- run: zig fmt --check .
8 changes: 4 additions & 4 deletions .github/workflows/interop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- uses: actions/checkout@v6
- uses: mlugg/setup-zig@v2
with:
version: '0.17.0-dev.1441+d5181a9c9'
version: '0.17.0-dev.1476+91a29d707'
- run: zig build bench -Doptimize=ReleaseFast -Dcpu=native
- run: zig build test
- name: Interop tests (in-process)
Expand All @@ -28,7 +28,7 @@ jobs:
- uses: actions/checkout@v6
- uses: mlugg/setup-zig@v2
with:
version: '0.17.0-dev.1441+d5181a9c9'
version: '0.17.0-dev.1476+91a29d707'
- run: zig build bench -Doptimize=ReleaseFast -Dcpu=native
- run: zig build test

Expand All @@ -39,7 +39,7 @@ jobs:
- uses: actions/checkout@v6
- uses: mlugg/setup-zig@v2
with:
version: '0.17.0-dev.1441+d5181a9c9'
version: '0.17.0-dev.1476+91a29d707'
- run: zig build -Dfuzz=true fuzz

testssl:
Expand All @@ -50,7 +50,7 @@ jobs:
- uses: actions/checkout@v6
- uses: mlugg/setup-zig@v2
with:
version: '0.17.0-dev.1441+d5181a9c9'
version: '0.17.0-dev.1476+91a29d707'
- name: Install testssl.sh
run: |
git clone --depth 1 https://github.com/drwetter/testssl.sh.git /tmp/testssl.sh
Expand Down
2 changes: 1 addition & 1 deletion bench/crypto_bench.zig
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const crypto = std.crypto;
const tls = @import("tls");
const ecdsa = tls.ecdsa_p256;

const crypto_iterations: u32 = if (@import("builtin").mode == .Debug) 1_000 else 100_000;
const crypto_iterations: u32 = if (@import("builtin").mode == .debug) 1_000 else 100_000;
const handshake_record_len: usize = 2048;

pub fn run(
Expand Down
6 changes: 3 additions & 3 deletions bench/main.zig
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ const certs = @import("certs.zig");
const crypto_bench = @import("crypto_bench.zig");

pub const std_options: std.Options = .{
.log_level = if (builtin.mode == .Debug) .warn else .err,
.log_level = if (builtin.mode == .debug) .warn else .err,
};

const iterations: u32 = if (builtin.mode == .Debug) 100 else 10_000;
const iterations: u32 = if (builtin.mode == .debug) 100 else 10_000;
const transfer_bytes: usize = 16 * 1024;
const transfer_iterations: u32 = if (builtin.mode == .Debug) 50 else 5_000;
const transfer_iterations: u32 = if (builtin.mode == .debug) 50 else 5_000;

const bench_groups = &[_]tls.config.NamedGroup{.x25519};

Expand Down
4 changes: 2 additions & 2 deletions build.zig
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ pub fn build(b: *std.Build) void {
const record_fuzz_mod = b.createModule(.{
.root_source_file = b.path("fuzz/record_fuzz.zig"),
.target = target,
.optimize = .ReleaseFast,
.optimize = .fast,
});
record_fuzz_mod.addImport("tls", tls_module);
const record_fuzz = b.addExecutable(.{
Expand All @@ -103,7 +103,7 @@ pub fn build(b: *std.Build) void {
const handshake_fuzz_mod = b.createModule(.{
.root_source_file = b.path("fuzz/handshake_fuzz.zig"),
.target = target,
.optimize = .ReleaseFast,
.optimize = .fast,
});
handshake_fuzz_mod.addImport("tls", tls_module);
const handshake_fuzz = b.addExecutable(.{
Expand Down
2 changes: 1 addition & 1 deletion build.zig.zon
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.{
.name = .zig_tls,
.version = "0.1.1",
.minimum_zig_version = "0.17.0-dev.1441+d5181a9c9",
.minimum_zig_version = "0.17.0-dev.1476+91a29d707",
.fingerprint = 0x114f7e81e404070b,
.paths = .{
"README.md",
Expand Down
34 changes: 17 additions & 17 deletions src/crypto/p256/p256_64.zig
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ fn subborrowxU64(out1: *u64, out2: *u1, arg1: u1, arg2: u64, arg3: u64) void {
/// out1: [0x0 ~> 0xffffffffffffffff]
/// out2: [0x0 ~> 0xffffffffffffffff]
fn mulxU64(out1: *u64, out2: *u64, arg1: u64, arg2: u64) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

const x = @as(u128, arg1) * @as(u128, arg2);
out1.* = @as(u64, @truncate(x));
Expand All @@ -129,7 +129,7 @@ fn mulxU64(out1: *u64, out2: *u64, arg1: u64, arg2: u64) void {
/// Output Bounds:
/// out1: [0x0 ~> 0xffffffffffffffff]
fn cmovznzU64(out1: *u64, arg1: u1, arg2: u64, arg3: u64) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

const mask = 0 -% @as(u64, arg1);
out1.* = (mask & arg3) | ((~mask) & arg2);
Expand All @@ -145,7 +145,7 @@ fn cmovznzU64(out1: *u64, arg1: u1, arg2: u64, arg3: u64) void {
/// 0 ≤ eval out1 < m
///
pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldElement, arg2: MontgomeryDomainFieldElement) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

const x1 = (arg1[1]);
const x2 = (arg1[2]);
Expand Down Expand Up @@ -437,7 +437,7 @@ pub fn mul(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
/// 0 ≤ eval out1 < m
///
pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldElement) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

const x1 = (arg1[1]);
const x2 = (arg1[2]);
Expand Down Expand Up @@ -730,7 +730,7 @@ pub fn square(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEl
/// 0 ≤ eval out1 < m
///
pub fn add(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldElement, arg2: MontgomeryDomainFieldElement) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

var x1: u64 = undefined;
var x2: u1 = undefined;
Expand Down Expand Up @@ -783,7 +783,7 @@ pub fn add(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
/// 0 ≤ eval out1 < m
///
pub fn sub(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldElement, arg2: MontgomeryDomainFieldElement) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

var x1: u64 = undefined;
var x2: u1 = undefined;
Expand Down Expand Up @@ -826,7 +826,7 @@ pub fn sub(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
/// 0 ≤ eval out1 < m
///
pub fn opp(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldElement) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

var x1: u64 = undefined;
var x2: u1 = undefined;
Expand Down Expand Up @@ -869,7 +869,7 @@ pub fn opp(out1: *MontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldEleme
/// 0 ≤ eval out1 < m
///
pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDomainFieldElement) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

const x1 = (arg1[0]);
var x2: u64 = undefined;
Expand Down Expand Up @@ -1022,7 +1022,7 @@ pub fn fromMontgomery(out1: *NonMontgomeryDomainFieldElement, arg1: MontgomeryDo
/// 0 ≤ eval out1 < m
///
pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDomainFieldElement) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

const x1 = (arg1[1]);
const x2 = (arg1[2]);
Expand Down Expand Up @@ -1297,7 +1297,7 @@ pub fn toMontgomery(out1: *MontgomeryDomainFieldElement, arg1: NonMontgomeryDoma
/// Output Bounds:
/// out1: [0x0 ~> 0xffffffffffffffff]
pub fn nonzero(out1: *u64, arg1: [4]u64) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

const x1 = ((arg1[0]) | ((arg1[1]) | ((arg1[2]) | (arg1[3]))));
out1.* = x1;
Expand All @@ -1315,7 +1315,7 @@ pub fn nonzero(out1: *u64, arg1: [4]u64) void {
/// Output Bounds:
/// out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
pub fn selectznz(out1: *[4]u64, arg1: u1, arg2: [4]u64, arg3: [4]u64) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

var x1: u64 = undefined;
cmovznzU64(&x1, arg1, (arg2[0]), (arg3[0]));
Expand Down Expand Up @@ -1343,7 +1343,7 @@ pub fn selectznz(out1: *[4]u64, arg1: u1, arg2: [4]u64, arg3: [4]u64) void {
/// Output Bounds:
/// out1: [[0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff], [0x0 ~> 0xff]]
pub fn toBytes(out1: *[32]u8, arg1: [4]u64) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

const x1 = (arg1[3]);
const x2 = (arg1[2]);
Expand Down Expand Up @@ -1452,7 +1452,7 @@ pub fn toBytes(out1: *[32]u8, arg1: [4]u64) void {
/// Output Bounds:
/// out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
pub fn fromBytes(out1: *[4]u64, arg1: [32]u8) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

const x1 = (@as(u64, (arg1[31])) << 56);
const x2 = (@as(u64, (arg1[30])) << 48);
Expand Down Expand Up @@ -1527,7 +1527,7 @@ pub fn fromBytes(out1: *[4]u64, arg1: [32]u8) void {
/// 0 ≤ eval out1 < m
///
pub fn setOne(out1: *MontgomeryDomainFieldElement) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

out1[0] = @as(u64, 0x1);
out1[1] = 0xffffffff00000000;
Expand All @@ -1544,7 +1544,7 @@ pub fn setOne(out1: *MontgomeryDomainFieldElement) void {
/// Output Bounds:
/// out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
pub fn msat(out1: *[5]u64) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

out1[0] = 0xffffffffffffffff;
out1[1] = 0xffffffff;
Expand Down Expand Up @@ -1582,7 +1582,7 @@ pub fn msat(out1: *[5]u64) void {
/// out4: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
/// out5: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[4]u64, arg1: u64, arg2: [5]u64, arg3: [5]u64, arg4: [4]u64, arg5: [4]u64) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

var x1: u64 = undefined;
var x2: u1 = undefined;
Expand Down Expand Up @@ -1816,7 +1816,7 @@ pub fn divstep(out1: *u64, out2: *[5]u64, out3: *[5]u64, out4: *[4]u64, out5: *[
/// Output Bounds:
/// out1: [[0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff], [0x0 ~> 0xffffffffffffffff]]
pub fn divstepPrecomp(out1: *[4]u64) void {
@setRuntimeSafety(mode == .Debug);
@setRuntimeSafety(mode == .debug);

out1[0] = 0x67ffffffb8000000;
out1[1] = 0xc000000038000000;
Expand Down
Loading
Loading