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