Skip to content

Commit

Permalink
add license
Browse files Browse the repository at this point in the history
  • Loading branch information
xtaci committed Jul 25, 2024
1 parent f237b4f commit 79abdf9
Show file tree
Hide file tree
Showing 5 changed files with 74 additions and 12 deletions.
16 changes: 16 additions & 0 deletions pkg.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Package qpp implements Quantum permutation pad
//
// Quantum permutation pad or QPP is a quantum-safe symmetric cryptographic
// algorithm proposed by Kuang and Bettenburg in 2020. The theoretical
// foundation of QPP leverages the linear algebraic representations of
// quantum gates which makes QPP realizable in both, quantum and classical
// systems. By applying the QPP with 64 of 8-bit permutation gates, holding
// respective entropy of over 100,000 bits, they accomplished quantum random
// number distributions digitally over today’s classical internet. The QPP has
// also been used to create pseudo quantum random numbers and served as a
// foundation for quantum-safe lightweight block and streaming ciphers.
//
// This file implements QPP in 8-qubits, which is compatible with the classical
// architecture. In 8-qubits, the overall permutation matrix reaches 256!.

package qpp
15 changes: 15 additions & 0 deletions prng.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
// # Copyright (c) 2024 xtaci
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.

package qpp

// xorshift64star is a pseudo-random number generator that is part of the xorshift family of PRNGs.
Expand Down
15 changes: 15 additions & 0 deletions prng_test.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
// # Copyright (c) 2024 xtaci
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.

package qpp

import "testing"
Expand Down
25 changes: 13 additions & 12 deletions qpp.go
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
// Package qpp implements Quantum permutation pad
// # Copyright (c) 2024 xtaci
//
// Quantum permutation pad or QPP is a quantum-safe symmetric cryptographic
// algorithm proposed by Kuang and Bettenburg in 2020. The theoretical
// foundation of QPP leverages the linear algebraic representations of
// quantum gates which makes QPP realizable in both, quantum and classical
// systems. By applying the QPP with 64 of 8-bit permutation gates, holding
// respective entropy of over 100,000 bits, they accomplished quantum random
// number distributions digitally over today’s classical internet. The QPP has
// also been used to create pseudo quantum random numbers and served as a
// foundation for quantum-safe lightweight block and streaming ciphers.
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This file implements QPP in 8-qubits, which is compatible with the classical
// architecture. In 8-qubits, the overall permutation matrix reaches 256!.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.

package qpp

import (
Expand Down
15 changes: 15 additions & 0 deletions qpp_test.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
// # Copyright (c) 2024 xtaci
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.

package qpp

import (
Expand Down

0 comments on commit 79abdf9

Please sign in to comment.