Skip to content

Commit 864821b

Browse files
authored
* Bump minimum macOS version (#7)
Also * Fix Xcode capitalization * some README tweaks
1 parent b44d7f6 commit 864821b

File tree

3 files changed

+23
-15
lines changed

3 files changed

+23
-15
lines changed

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,5 +207,5 @@ package.targets += [
207207

208208
// Set the minimum macOS version for the package
209209
package.platforms = [
210-
.macOS(.v13), // Set the minimum macOS version here
210+
.macOS(.v14), // Constrained by Swift 6 support for Xcode (https://developer.apple.com/support/xcode/)
211211
]

README.md

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,13 @@ and executables:
2020

2121
## Background
2222
### Homomorphic Encryption (HE)
23-
Homomorphic encryption (HE) is a cryptosystem which enables computation on encrypted data.
24-
The computation is performed directly on the encrypted data, without decryption or use of a secret key.
25-
HE thereby enables a client to offload computation on its sensitive data to a server by the following workflow:
23+
Swift Homomorphic Encryption implements a special form of cryptography called homomorphic encryption (HE).
24+
HE is a cryptosystem which enables computation on encrypted data.
25+
The computation is performed directly on the encrypted data, *without revealing the plaintext of that data to the operating process*.
26+
HE computations therefore happen without decryption or access to the decryption key.
27+
28+
HE thereby allows a client to enable a server to perform operations on encrypted data, and therefore without revealing the data to server.
29+
A typical HE workflow might be:
2630
* The client encrypts its sensitive data and sends the resulting ciphertext to the server.
2731
* The server performs HE computation on the ciphertext (and perhaps its own plaintext inputs), without learning what any ciphertext decrypts to.
2832
* The server sends the resulting ciphertext response to the client.
@@ -96,17 +100,17 @@ Additionally, developing Swift Homomorphic Encryption requires:
96100
* [swiftlint](https://github.com/realm/SwiftLint), v0.55.1
97101

98102
### Building
99-
You can build Swift Homomorphic Encryption either via XCode or via command line in a terminal.
103+
You can build Swift Homomorphic Encryption either via Xcode or via command line in a terminal.
100104

101105
After cloning the repository, run
102106
```sh
103107
cd swift-homomorphic-encryption
104108
git submodule update --init --recursive
105109
```
106110

107-
#### XCode
108-
To build Swift Homomorphic Encryption from XCode, simply open the root directory in XCode.
109-
See the [XCode documentation](https://developer.apple.com/documentation/xcode) for more details on developing with XCode.
111+
#### Xcode
112+
To build Swift Homomorphic Encryption from Xcode, simply open the root directory in Xcode.
113+
See the [Xcode documentation](https://developer.apple.com/documentation/Xcode) for more details on developing with Xcode.
110114

111115
#### Command line
112116
To build Swift Homomorphic Encryption from command line, open the root directory (i.e., the `swift-homomorphic-encryption` directory) of the cloned repository in a terminal, and run
@@ -159,8 +163,8 @@ By default, benchmarking requires the [jemalloc](http://jemalloc.net) dependency
159163
> For reliable execution, benchmark can be run without `jemalloc` as described [here](https://github.com/ordo-one/package-benchmark/releases/tag/1.2.0).
160164
161165
Two ways to run the benchmarks are:
162-
* XCode
163-
* Open the `swift-homomorphic-encryption` folder in XCode.
166+
* Xcode
167+
* Open the `swift-homomorphic-encryption` folder in Xcode.
164168
* Switch to a benchmark target.
165169
* Run the target, e.g., via the `Product` menu.
166170
* Command line
@@ -174,8 +178,8 @@ If you are interested in making a contribution to Swift Homomorphic Encryption,
174178
Swift Homomorphic Encryption uses DocC for documentation.
175179
For more information, refer to [the DocC documentation](https://www.swift.org/documentation/docc) and the [Swift-DocC Plugin](https://swiftlang.github.io/swift-docc-plugin/documentation/swiftdoccplugin/).
176180

177-
## XCode
178-
The documentation can be built from XCode via `Product -> Build Documentation`.
181+
## Xcode
182+
The documentation can be built from Xcode via `Product -> Build Documentation`.
179183

180184
## Command line
181185
The documentation can be built from command line by running

Sources/HomomorphicEncryption/HomomorphicEncryption.docc/HomomorphicEncryption.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,13 @@ and executables:
1515
* [PIRShardDatabase](https://github.com/apple/swift-homomorphic-encryption/blob/main/Sources/PIRShardDatabase/PIRShardDatabase.docc/PIRShardDatabase.md)
1616

1717
### Background
18-
Homomorphic encryption (HE) is a cryptosystem which enables computation on encrypted data.
19-
The computation is performed directly on the encrypted data, without decryption or use of a secret key.
20-
HE thereby enables a client to offload computation on its sensitive data to a server by the following workflow:
18+
Swift Homomorphic Encryption implements a special form of cryptography called homomorphic encryption (HE).
19+
HE is a cryptosystem which enables computation on encrypted data.
20+
The computation is performed directly on the encrypted data, *without revealing the plaintext of that data to the operating process*.
21+
HE computations therefore happen without decryption or access to the decryption key.
22+
23+
HE thereby allows a client to enable a server to perform operations on encrypted data, and therefore without revealing the data to server.
24+
A typical HE workflow might be:
2125
* The client encrypts its sensitive data and sends the resulting ciphertext to the server.
2226
* The server performs HE computation on the ciphertext (and perhaps its own plaintext inputs), without learning what any ciphertext decrypts to.
2327
* The server sends the resulting ciphertext response to the client.

0 commit comments

Comments
 (0)