]> Git — Sourcephile - majurity.git/blob - hjugement-protocol/hjugement-protocol.cabal
lib: doc: add TODOs
[majurity.git] / hjugement-protocol / hjugement-protocol.cabal
1 name: hjugement-protocol
2 -- PVP: +-+------- breaking API changes
3 -- | | +----- non-breaking API additions
4 -- | | | +--- code changes with no API change
5 version: 0.0.10.20191104
6 category: Politic
7 synopsis: A cryptographic protocol for the Majority Judgment.
8 description:
9 This work-in-progress library aims at implementing an online voting protocol
10 named <https://eprint.iacr.org/2013/177.pdf Helios-C> (Helios with Credentials)
11 by its authors from the <https://www.cnrs.fr/ CNRS>,
12 the <http://www.loria.fr INRIA>
13 and the <https://www.univ-lorraine.fr/ Université de Lorraine>:
14 <http://www.loria.fr/~cortier/ Véronique Cortier>,
15 <https://dgalindo.es/ David Galindo>,
16 <http://www.loria.fr/~gaudry/ Pierrick Gaudry>,
17 <http://stephane.glondu.net/ Stéphane Glondu>
18 and Malika Izabachène.
19 .
20 * A large-public introduction (in french) to Helios-C is available here:
21 <https://members.loria.fr/VCortier/files/Papers/Bulletin1024-2016.pdf Bulletin de la société informatique de France – numéro 9, novembre 2016>.
22 * A more scientific (yet understandable) introduction (in english) to Belenios
23 (an implementation of Helios-C) is available here:
24 <https://hal.inria.fr/hal-02066930/document Belenios: a simple private and verifiable electronic voting system>.
25 .
26 The main properties of this protocol are:
27 .
28 * /fully correct/: the published result are proven to correspond
29 to the (sum of) intended votes of the voters,
30 while accounting for a malicious bulletin board (BB) (adding fake ballots)
31 by requiring a registration authority (RA)
32 (responsible for generating and sending voters' credentials).
33 Assuming that the BB and the RA are not simultaneously dishonest.
34 .
35 * /verifiable/: each voter is able to check that:
36 his\/her ballot did contribute to the outcome (/individual verifiability/),
37 and that the tallying authorities did their job properly (/universal verifiability/).
38 .
39 * /private/: the identities of the voters who cast a vote are not publicly revealed.
40 extra-doc-files: README.md
41 license: GPL-3
42 license-file: COPYING
43 stability: experimental
44 author: Julien Moutinho <julm+hjugement@autogeree.net>
45 maintainer: Julien Moutinho <julm+hjugement@autogeree.net>
46 bug-reports: Julien Moutinho <julm+hjugement@autogeree.net>
47 -- homepage:
48
49 build-type: Simple
50 cabal-version: 1.24
51 tested-with: GHC==8.6.5
52 extra-source-files:
53 stack.yaml
54 extra-tmp-files:
55
56 Source-Repository head
57 location: git://git.autogeree.net/hjugement
58 type: git
59
60 Library
61 hs-source-dirs: src
62 exposed-modules:
63 Voting.Protocol
64 Voting.Protocol.Arithmetic
65 Voting.Protocol.Credential
66 Voting.Protocol.Cryptography
67 Voting.Protocol.Election
68 Voting.Protocol.FFC
69 Voting.Protocol.Tally
70 Voting.Protocol.Trustee
71 Voting.Protocol.Trustee.Indispensable
72 Voting.Protocol.Utils
73 Voting.Protocol.Version
74 default-language: Haskell2010
75 default-extensions:
76 AllowAmbiguousTypes
77 -- ConstraintKinds
78 DefaultSignatures
79 FlexibleContexts
80 FlexibleInstances
81 GeneralizedNewtypeDeriving
82 LambdaCase
83 MonoLocalBinds
84 MultiParamTypeClasses
85 NamedFieldPuns
86 NoImplicitPrelude
87 NoMonomorphismRestriction
88 RecordWildCards
89 ScopedTypeVariables
90 StandaloneDeriving
91 TupleSections
92 TypeApplications
93 TypeFamilies
94 TypeOperators
95 ghc-options:
96 -Wall
97 -Wincomplete-uni-patterns
98 -Wincomplete-record-updates
99 -fno-warn-tabs
100 -- -fhide-source-paths
101 build-depends:
102 base >= 4.6 && < 5
103 , aeson >= 1.3
104 , base64-bytestring >= 1.0
105 , binary >= 0.8
106 , bytestring >= 0.10
107 , containers >= 0.5
108 , cryptonite >= 0.25
109 -- , fixed-vector >= 1.1
110 -- , hashable >= 1.2.6
111 , memory >= 0.14
112 -- , mmorph >= 1.1
113 -- , monad-classes >= 0.3
114 , deepseq >= 1.4
115 , random >= 1.1
116 , reflection >= 2.1
117 , text >= 1.2
118 , transformers >= 0.5
119 , unordered-containers >= 0.2.8
120
121 Test-Suite hjugement-protocol-test
122 type: exitcode-stdio-1.0
123 hs-source-dirs: tests
124 main-is: Main.hs
125 other-modules:
126 HUnit
127 HUnit.FFC
128 HUnit.Credential
129 HUnit.Election
130 HUnit.Trustee
131 HUnit.Trustee.Indispensable
132 QuickCheck
133 QuickCheck.Election
134 QuickCheck.Trustee
135 Utils
136 default-language: Haskell2010
137 default-extensions:
138 AllowAmbiguousTypes
139 ConstraintKinds
140 DefaultSignatures
141 FlexibleContexts
142 FlexibleInstances
143 GeneralizedNewtypeDeriving
144 LambdaCase
145 MonoLocalBinds
146 MultiParamTypeClasses
147 NamedFieldPuns
148 NoImplicitPrelude
149 NoMonomorphismRestriction
150 RecordWildCards
151 ScopedTypeVariables
152 StandaloneDeriving
153 TupleSections
154 TypeApplications
155 TypeFamilies
156 TypeOperators
157 ghc-options:
158 -Wall
159 -Wincomplete-uni-patterns
160 -Wincomplete-record-updates
161 -fno-warn-tabs
162 -- -fhide-source-paths
163 build-depends:
164 hjugement-protocol
165 , base >= 4.6 && < 5
166 , aeson >= 1.3
167 , containers >= 0.5
168 -- , hashable >= 1.2.6
169 , QuickCheck >= 2.11
170 -- , monad-classes >= 0.3
171 , random >= 1.1
172 -- , reflection >= 2.1
173 , tasty >= 0.11
174 , tasty-hunit >= 0.9
175 , tasty-quickcheck
176 , text >= 1.2
177 , transformers >= 0.5
178 -- , unordered-containers >= 0.2.8
179
180 Benchmark hjugement-protocol-benchmark
181 type: exitcode-stdio-1.0
182 hs-source-dirs: benchmarks
183 main-is: Main.hs
184 default-language: Haskell2010
185 other-modules:
186 Election
187 Utils
188 default-extensions:
189 AllowAmbiguousTypes
190 ConstraintKinds
191 DefaultSignatures
192 FlexibleContexts
193 FlexibleInstances
194 GeneralizedNewtypeDeriving
195 LambdaCase
196 MonoLocalBinds
197 MultiParamTypeClasses
198 NamedFieldPuns
199 NoImplicitPrelude
200 NoMonomorphismRestriction
201 RecordWildCards
202 ScopedTypeVariables
203 StandaloneDeriving
204 TupleSections
205 TypeApplications
206 TypeFamilies
207 TypeOperators
208 ghc-options:
209 -Wall
210 -Wincomplete-uni-patterns
211 -Wincomplete-record-updates
212 -fno-warn-tabs
213 build-depends:
214 base >= 4.6 && < 5
215 , hjugement-protocol
216 , aeson >= 1.3
217 , containers >= 0.5
218 , criterion >= 1.4
219 , deepseq >= 1.4
220 , QuickCheck >= 2.11
221 , random >= 1.1
222 , text >= 1.2
223 , transformers >= 0.5