]> Git — Sourcephile - majurity.git/blob - hjugement-protocol/hjugement-protocol.cabal
protocol: replace reifyCrypto by groupDict
[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.8.20191027
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.4.4
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.Arith
65 Voting.Protocol.Credential
66 Voting.Protocol.Election
67 Voting.Protocol.FFC
68 Voting.Protocol.Tally
69 Voting.Protocol.Trustee
70 Voting.Protocol.Trustee.Indispensable
71 Voting.Protocol.Utils
72 default-language: Haskell2010
73 default-extensions:
74 AllowAmbiguousTypes
75 ConstraintKinds
76 DefaultSignatures
77 FlexibleContexts
78 FlexibleInstances
79 GeneralizedNewtypeDeriving
80 LambdaCase
81 MonoLocalBinds
82 MultiParamTypeClasses
83 NamedFieldPuns
84 NoImplicitPrelude
85 NoMonomorphismRestriction
86 RecordWildCards
87 ScopedTypeVariables
88 StandaloneDeriving
89 TupleSections
90 TypeApplications
91 TypeFamilies
92 TypeOperators
93 ghc-options:
94 -Wall
95 -Wincomplete-uni-patterns
96 -Wincomplete-record-updates
97 -fno-warn-tabs
98 -- -fhide-source-paths
99 build-depends:
100 base >= 4.6 && < 5
101 , aeson >= 1.3
102 , base64-bytestring >= 1.0
103 , binary >= 0.8
104 , bytestring >= 0.10
105 , containers >= 0.5
106 , cryptonite >= 0.25
107 -- , fixed-vector >= 1.1
108 -- , hashable >= 1.2.6
109 , memory >= 0.14
110 -- , mmorph >= 1.1
111 -- , monad-classes >= 0.3
112 , deepseq >= 1.4
113 , random >= 1.1
114 , reflection >= 2.1
115 , text >= 1.2
116 , transformers >= 0.5
117 , unordered-containers >= 0.2.8
118
119 Test-Suite hjugement-protocol-test
120 type: exitcode-stdio-1.0
121 hs-source-dirs: tests
122 main-is: Main.hs
123 other-modules:
124 HUnit
125 HUnit.FFC
126 HUnit.Credential
127 HUnit.Election
128 HUnit.Trustee
129 HUnit.Trustee.Indispensable
130 QuickCheck
131 QuickCheck.Election
132 QuickCheck.Trustee
133 Utils
134 default-language: Haskell2010
135 default-extensions:
136 AllowAmbiguousTypes
137 ConstraintKinds
138 DefaultSignatures
139 FlexibleContexts
140 FlexibleInstances
141 GeneralizedNewtypeDeriving
142 LambdaCase
143 MonoLocalBinds
144 MultiParamTypeClasses
145 NamedFieldPuns
146 NoImplicitPrelude
147 NoMonomorphismRestriction
148 RecordWildCards
149 ScopedTypeVariables
150 StandaloneDeriving
151 TupleSections
152 TypeApplications
153 TypeFamilies
154 TypeOperators
155 ghc-options:
156 -Wall
157 -Wincomplete-uni-patterns
158 -Wincomplete-record-updates
159 -fno-warn-tabs
160 -- -fhide-source-paths
161 build-depends:
162 hjugement-protocol
163 , base >= 4.6 && < 5
164 , aeson >= 1.3
165 , containers >= 0.5
166 -- , hashable >= 1.2.6
167 , QuickCheck >= 2.11
168 -- , monad-classes >= 0.3
169 , random >= 1.1
170 -- , reflection >= 2.1
171 , tasty >= 0.11
172 , tasty-hunit >= 0.9
173 , tasty-quickcheck
174 , text >= 1.2
175 , transformers >= 0.5
176 -- , unordered-containers >= 0.2.8
177
178 Benchmark hjugement-protocol-benchmark
179 type: exitcode-stdio-1.0
180 hs-source-dirs: benchmarks
181 main-is: Main.hs
182 default-language: Haskell2010
183 other-modules:
184 Election
185 Utils
186 default-extensions:
187 AllowAmbiguousTypes
188 ConstraintKinds
189 DefaultSignatures
190 FlexibleContexts
191 FlexibleInstances
192 GeneralizedNewtypeDeriving
193 LambdaCase
194 MonoLocalBinds
195 MultiParamTypeClasses
196 NamedFieldPuns
197 NoImplicitPrelude
198 NoMonomorphismRestriction
199 RecordWildCards
200 ScopedTypeVariables
201 StandaloneDeriving
202 TupleSections
203 TypeApplications
204 TypeFamilies
205 TypeOperators
206 ghc-options:
207 -Wall
208 -Wincomplete-uni-patterns
209 -Wincomplete-record-updates
210 -fno-warn-tabs
211 build-depends:
212 base >= 4.6 && < 5
213 , hjugement-protocol
214 , containers >= 0.5
215 , criterion >= 1.4
216 , deepseq >= 1.4
217 , QuickCheck >= 2.11
218 , random >= 1.1
219 , text >= 1.2
220 , transformers >= 0.5