@@ -51,28 +51,26 @@ cmake --build liboqs/build --parallel 8
51
51
cmake --build liboqs/build --target install
52
52
```
53
53
54
- The last line may require prefixing it by ` sudo ` on UNIX-like systems.
55
- Change ` --parallel 8 ` to match the number of available cores on your system.
54
+ The last line may require prefixing it by ` sudo ` on UNIX-like systems. Change ` --parallel 8 ` to match the number of
55
+ available cores on your system.
56
56
57
- On UNIX-like platforms, you may need to set
58
- the ` LD_LIBRARY_PATH ` (` DYLD_LIBRARY_PATH ` on macOS) environment variable to
57
+ On UNIX-like platforms, you may need to set the ` LD_LIBRARY_PATH ` (` DYLD_LIBRARY_PATH ` on macOS) environment variable to
59
58
point to the path to liboqs' library directory, e.g.,
60
59
61
60
``` shell
62
61
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH :/usr/local/lib
63
62
```
64
63
65
- On Windows platforms, ** you must ensure** that the liboqs shared
66
- library ` oqs.dll ` is visible system-wide, and that the following environment
67
- variable are being set. Use the "Edit the system environment variables" Control
68
- Panel tool or execute in a Command Prompt, e.g.,
64
+ On Windows platforms, ** you must ensure** that the liboqs shared library ` oqs.dll ` is visible system-wide, and that the
65
+ following environment variable are being set. Use the "Edit the system environment variables" Control Panel tool or
66
+ execute in a Command Prompt, e.g.,
69
67
70
68
``` shell
71
69
set PATH=%PATH%; C:\P rogram Files (x86)\l iboqs\b in
72
70
```
73
71
74
- You can change liboqs' installation directory by configuring the build to use an
75
- alternative path, e.g., ` C:\liboqs ` , by replacing the first CMake line above by
72
+ You can change liboqs' installation directory by configuring the build to use an alternative path, e.g., ` C:\liboqs ` , by
73
+ replacing the first CMake line above by
76
74
77
75
``` shell
78
76
cmake -S liboqs -B liboqs/build -DCMAKE_INSTALL_PREFIX=" C:\liboqs" -DBUILD_SHARED_LIBS=ON
100
98
venv\S cripts\a ctivate.bat
101
99
```
102
100
103
- ### Install the wrapper
101
+ ### Configure and install the wrapper
104
102
105
103
Execute in a Terminal/Console/Administrator Command Prompt
106
104
@@ -132,6 +130,12 @@ nose2 --verbose liboqs-python
132
130
133
131
## Usage in standalone applications
134
132
133
+ liboqs-python can be imported into Python programs with
134
+
135
+ ``` python
136
+ import oqs
137
+ ```
138
+
135
139
liboqs-python defines two main classes: ` KeyEncapsulation ` and ` Signature ` , providing post-quantum key encapsulation and
136
140
signture mechanisms, respectively. Each must be instantiated with a string identifying one of mechanisms supported by
137
141
liboqs; these can be enumerated using the ` get_enabled_KEM_mechanisms() ` and ` get_enabled_sig_mechanisms() ` functions.
@@ -152,8 +156,6 @@ Prompt
152
156
set PYTHONPATH=%PYTHONPATH%; C:\p ath\t o\l iboqs-python
153
157
```
154
158
155
- As any python module, liboqs wrapper components can be imported into python programs with ` import oqs ` .
156
-
157
159
---
158
160
159
161
## Docker
@@ -179,51 +181,51 @@ Or, run the unit tests with
179
181
docker run -it oqs-python sh -c " . venv/bin/activate && nose2 --verbose liboqs-python"
180
182
```
181
183
184
+ In case you want to use the Docker container as development environment, mount your current project in the Docker
185
+ container with
186
+
187
+ ``` shell
188
+ docker run --rm -it --workdir=/app -v ${PWD} :/app oqs-python /bin/bash
189
+ ```
190
+
182
191
A more comprehensive Docker example is provided in the
183
192
directory [ ` docker ` ] ( https://github.com/open-quantum-safe/liboqs-python/tree/main/docker ) .
184
193
185
194
---
186
195
187
196
## Limitations and security
188
197
189
- liboqs is designed for prototyping and evaluating quantum-resistant
190
- cryptography. Security of proposed quantum-resistant algorithms may rapidly
191
- change as research advances, and may ultimately be completely insecure against
192
- either classical or quantum computers.
198
+ liboqs is designed for prototyping and evaluating quantum-resistant cryptography. Security of proposed quantum-resistant
199
+ algorithms may rapidly change as research advances, and may ultimately be completely insecure against either classical
200
+ or quantum computers.
193
201
194
- We believe that the NIST Post-Quantum Cryptography standardization project is
195
- currently the best avenue to identifying potentially quantum-resistant
196
- algorithms. liboqs does not intend to "pick winners", and we strongly recommend
197
- that applications and protocols rely on the outcomes of the NIST standardization
198
- project when deploying post-quantum cryptography.
202
+ We believe that the NIST Post-Quantum Cryptography standardization project is currently the best avenue to identifying
203
+ potentially quantum-resistant algorithms. liboqs does not intend to "pick winners", and we strongly recommend that
204
+ applications and protocols rely on the outcomes of the NIST standardization project when deploying post-quantum
205
+ cryptography.
199
206
200
- We acknowledge that some parties may want to begin deploying post-quantum
201
- cryptography prior to the conclusion of the NIST standardization project. We
202
- strongly recommend that any attempts to do make use of so-called ** hybrid
203
- cryptography** , in which post-quantum public-key algorithms are used alongside
204
- traditional public key algorithms (like RSA or elliptic curves) so that the
205
- solution is at least no less secure than existing traditional cryptography.
207
+ We acknowledge that some parties may want to begin deploying post-quantum cryptography prior to the conclusion of the
208
+ NIST standardization project. We strongly recommend that any attempts to do make use of so-called
209
+ ** hybrid cryptography** , in which post-quantum public-key algorithms are used alongside traditional public key
210
+ algorithms (like RSA or elliptic curves) so that the solution is at least no less secure than existing traditional
211
+ cryptography.
206
212
207
213
Just like liboqs, liboqs-python is provided "as is", without warranty of any kind.
208
- See [ LICENSE] ( https://github.com/open-quantum-safe/liboqs-python/blob/main/LICENSE )
209
- for the full disclaimer.
214
+ See [ LICENSE] ( https://github.com/open-quantum-safe/liboqs-python/blob/main/LICENSE ) for the full disclaimer.
210
215
211
216
---
212
217
213
218
## License
214
219
215
220
liboqs-python is licensed under the MIT License;
216
- see [ LICENSE] ( https://github.com/open-quantum-safe/liboqs-python/blob/main/LICENSE )
217
- for details.
221
+ see [ LICENSE] ( https://github.com/open-quantum-safe/liboqs-python/blob/main/LICENSE ) for details.
218
222
219
223
---
220
224
221
225
## Team
222
226
223
- The Open Quantum Safe project is led
224
- by [ Douglas Stebila] ( https://www.douglas.stebila.ca/research/ )
225
- and [ Michele Mosca] ( http://faculty.iqc.uwaterloo.ca/mmosca/ ) at the University
226
- of Waterloo.
227
+ The Open Quantum Safe project is led by [ Douglas Stebila] ( https://www.douglas.stebila.ca/research/ )
228
+ and [ Michele Mosca] ( http://faculty.iqc.uwaterloo.ca/mmosca/ ) at the University of Waterloo.
227
229
228
230
### Contributors
229
231
@@ -238,14 +240,12 @@ Contributors to the liboqs-python wrapper include:
238
240
239
241
## Support
240
242
241
- Financial support for the development of Open Quantum Safe has been provided by
242
- Amazon Web Services and the Canadian Centre for Cyber Security.
243
+ Financial support for the development of Open Quantum Safe has been provided by Amazon Web Services and the Canadian
244
+ Centre for Cyber Security.
243
245
244
- We'd like to make a special acknowledgement to the companies who have dedicated
245
- programmer time to contribute source code to OQS, including Amazon Web Services,
246
- evolutionQ, softwareQ, and Microsoft Research.
246
+ We'd like to make a special acknowledgement to the companies who have dedicated programmer time to contribute source
247
+ code to OQS, including Amazon Web Services, evolutionQ, softwareQ, and Microsoft Research.
247
248
248
- Research projects which developed specific components of OQS have been supported
249
- by various research grants, including funding from the Natural Sciences and
250
- Engineering Research Council of Canada (NSERC); see the source papers for
251
- funding acknowledgments.
249
+ Research projects which developed specific components of OQS have been supported by various research grants, including
250
+ funding from the Natural Sciences and Engineering Research Council of Canada (NSERC); see the source papers for funding
251
+ acknowledgments.
0 commit comments