From de055ed5e251c6f01554e2ee2ba75e81442a17b264c2d1d264d86f00fac847c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Thu, 25 May 2017 15:16:34 +0000 Subject: [PATCH] Accepting request 495736 from home:AndreasStieger cryto library for distributed card games OBS-URL: https://build.opensuse.org/request/show/495736 OBS-URL: https://build.opensuse.org/package/show/games/libTMCG?expand=0&rev=1 --- .gitattributes | 23 ++ .gitignore | 1 + libTMCG-1.3.0.tar.gz | 3 + libTMCG-1.3.0.tar.gz.sig | 6 + libTMCG.changes | 46 ++++ libTMCG.keyring | 514 +++++++++++++++++++++++++++++++++++++++ libTMCG.spec | 160 ++++++++++++ 7 files changed, 753 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 libTMCG-1.3.0.tar.gz create mode 100644 libTMCG-1.3.0.tar.gz.sig create mode 100644 libTMCG.changes create mode 100644 libTMCG.keyring create mode 100644 libTMCG.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/libTMCG-1.3.0.tar.gz b/libTMCG-1.3.0.tar.gz new file mode 100644 index 0000000..9556080 --- /dev/null +++ b/libTMCG-1.3.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a88d88207ecc746e048ca71f7c911f4178e4c130c4bd163a3859614bd89e274 +size 1026182 diff --git a/libTMCG-1.3.0.tar.gz.sig b/libTMCG-1.3.0.tar.gz.sig new file mode 100644 index 0000000..4923131 --- /dev/null +++ b/libTMCG-1.3.0.tar.gz.sig @@ -0,0 +1,6 @@ +-----BEGIN PGP SIGNATURE----- + +iF0EABECAB0WIQR29zARMp0n2418P5dPWE64+yvhTwUCWRdzCAAKCRBPWE64+yvh +T/HmAJ9A8Kb0HKWis0bDjjd9YGFDLOxIKACeLA8+0mlB/rDb9fz9+m5r7OUH9Rw= +=kwXo +-----END PGP SIGNATURE----- diff --git a/libTMCG.changes b/libTMCG.changes new file mode 100644 index 0000000..a6906dc --- /dev/null +++ b/libTMCG.changes @@ -0,0 +1,46 @@ +------------------------------------------------------------------- +Wed May 17 20:08:23 UTC 2017 - astieger@suse.com + +- update to 1.3.0: + * remove some issues found by coverity scan + * add undocumented protocols and experimental support for + distributed key generation + * Verifiable setup of VTMF group generator + * For some advanced protocols (e.g. Groth's shuffle) with more + than two parties the distributed coin flipping protocol (EDCF) + should be used. +- includes changes from 1.2.0: + * The default security parameters have been updated to current + state of the art + * The complexity of hash function g() was improved + * Non-interactive versions of the verifiable shuffle resp. + rotation protocol provide more efficient instantiations with + soundness based on the well-known Fiat-Shamir heuristic + * stengthen interactive versions of the protocols against + malicious verifiers by coin flipping between prover and + verifier + * include protocol for reliable broadcast + * improved documentation +- includes changes from 1.1.3: + * VRHE scheme provides an efficient HVZK argument for cyclic + shuffle +- includes changes from 1.1.2: + * Small bugfixes have been applied in order to compile with gcc + 4.3.x + +------------------------------------------------------------------- +Sun Jan 25 16:54:43 UTC 2015 - andreas.stieger@gmx.de + +- verify source signature + +------------------------------------------------------------------- +Sat Mar 31 16:33:31 UTC 2012 - andreas.stieger@gmx.de + +- update to 1.1.2 +- fix most warnings and errors for current openSUSE standards + +------------------------------------------------------------------- +Thu May 10 00:00:00 UTC 2007 - toni@links2linux.de + +- Initial package 1.1.1 + diff --git a/libTMCG.keyring b/libTMCG.keyring new file mode 100644 index 0000000..75ef5b3 --- /dev/null +++ b/libTMCG.keyring @@ -0,0 +1,514 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.2.6 (GNU/Linux) + +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 +iACDPo00G+c7hkXAZ/UykWsF0HISFS/5kGotFXm7XiLZcK5Iw804lwgNKTta2bmG +i2n6lXsuMUGNWuIP1+MU+VytUWbReUIqyipEmsWjFLGEl3GnA9SIY1ueVzLuG93b +3OBt0SkR6VUooz1Vg0IwZEKIRgQTEQIABgUCQFV//gAKCRDJ2NNvZxI1IUS5AJ0Q +4/q7gF5m+L+Ie0tN1M7phBoSuQCfUuTpRBHK3Xx2XgthNLTclvzvENmIRgQTEQIA +BgUCQFXeHwAKCRC/g4FDuop18Y6XAJ4+llA50ppVlOytgOUiATRNQCcoxQCfYZjn +9Im2ZbYpYMKKhwUlw9EdBCeIRgQTEQIABgUCQFYkdgAKCRApgKeMm3UqbcKVAJ0T +yBFRaTP/7seZCNkxgS3IcfmBRACgjFYB58A5JjhqoFFo5kvIrDrnKwWIRgQTEQIA +BgUCQFHkbQAKCRAsQzrCfOO2T/RIAJwK6aAfskKMd34vfRJOuGz+DUEWGgCfZwD3 +pL06pwcf7u1K1WTdR97MH1qIRgQTEQIABgUCQE8srAAKCRBFwCFHaavdVEj2AKCD +G4V1+ddZTfc1P39DGEj/Mh0egwCfYpm7WXrBZZVAdWWThMEpJ2C5AVaIRgQTEQIA +BgUCQFipRgAKCRAR9MQes/uuMyKoAJ9BufyVksHTi8P0Ka4RAnWZGnyeqgCfUPa7 +u7HifoRTQJnR3ArSu06c7WeIRgQTEQIABgUCQFitOgAKCRAdh+VJc2R8/0NFAJ9B +AjH70afmmdjIRPMtFBS6JvaU/ACfTaq5CbOTlyIwpkNbxR0Fy4dNKV6JAdcEEwEC +AMEFAkBeESmGFIAAAAAAGgBjc2lnbmF0dXJlLW5vdGVzQHBlbmd1aW4uZGUiaHR0 +cDovL3d3dy5wZW5ndWluLmRlL35iYi9jb250YWN0L3BncC9zaWduaW5ncy9ub3Rl +cy43NkY3MzAxMTMyOUQyN0RCOEQ3QzNGOTc0RjU4NEVCOEZCMkJFMTRGLmFzYyIz +Gmh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29udGFjdC9wZ3AvcG9saWN5L3Yx +LjEvAAoJEBmiaAmIOP2UMbYIAIKg5ha8fl8kO+GFlWzgm6XjxoMA+XGem26uAlfz +gUPn0a+jOg7OEq+s3o53Ow0pUzF8592mKTYEr7KBvtjDyTKc86bqSMN0xe+CgNiQ +ZGVuKTrFNYkFhw8ILfwgq6kDICx7BOF9N7Cw/dYDZ4wypuFNfqhqBvtogX3r7baR +pGd4itik9/U+5K2DltHAQiC73hhz8FQzkq7kg5rtsQCFFJ99cLOU+ogN1hSL4r2E +0dahmkX8tN7dMcAHXKfKvm36dyOeoKX5Bwrqvk2fWO5TsKh0S/6YPOHTG/Odskzr +z6Tzwt2eM2VCYfGBLZfxvAOqKuekrAz2gV8xR3+dqW0tmV2JAQEEExECAMEFAkBe +EX+GFIAAAAAAGgBjc2lnbmF0dXJlLW5vdGVzQHBlbmd1aW4uZGUiaHR0cDovL3d3 +dy5wZW5ndWluLmRlL35iYi9jb250YWN0L3BncC9zaWduaW5ncy9ub3Rlcy43NkY3 +MzAxMTMyOUQyN0RCOEQ3QzNGOTc0RjU4NEVCOEZCMkJFMTRGLmFzYyIzGmh0dHA6 +Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29udGFjdC9wZ3AvcG9saWN5L3YxLjEvAAoJ +EKseS2BGdWseKc4AnAykjKUMi/kUN12Z6xUQzo8uMZSaAJwNpW2TLMHKt6mCgfCs +RjIwqnPtyYhGBBMRAgAGBQJAYzKXAAoJEChjvWc1UYaqAdIAoJ1X2y9ACAlOp1Pm +Q9gKmJU0ZkYGAJ9mwVplHgnmx/dmCEUhfAaA0UBH+ohGBBARAgAGBQJAZnqoAAoJ +EMpw3JjCCQpiTncAoPJ7BrM38P/TDChsmrnoSQ0tlLRMAKDtwmV9JDQmgax/QMNU +nCEwAukUDohGBBMRAgAGBQJAZokRAAoJEBsn11L6SaYa0ogAni1L3IZkVyfVdwNH +y7RYs2262W7tAKCErs7wFEpS8ju6nCPZfpPSNAobUIhGBBARAgAGBQJAf6CkAAoJ +ENiHrgjVaqabSYEAoKEtrT8OKSKBybrYxMZzEl6K27AJAKCqZIOHRCV3rxa6Oghh +e2JAGKqZEYhGBBMRAgAGBQJAfrb/AAoJEN1upz5vzaL8UycAnjoPohFT9S9+B02E +ueaaGzmziFwdAJ9L1BDMGRgKJDRjhxM4rzHfwr+DhYhGBBMRAgAGBQJAgXGAAAoJ +EHStrQFg+W6NEbYAniwfWcC4J4/+WiUnUIJtleQW+RnvAKCdewhVLkqW46HelUCQ +fq+jBGGJJ4kBHAQQAQEABgUCQIOVnQAKCRDggEBI3LCR5ejsCADU22LjfmcRtF7b +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 +thFaY6C9oM8sHvgza1CXqENhcC2heZczcrG5gpZ6X45oHLoIbCZLwBOtvySZmrtC +YB81t30HLn5rEGdigHaUDXohHAtEYcufVIGHzBsKDapDz9tnsdjBSRNXpV6xXzEX +CTvravEch86YPCNEYmKHr9iTkit2ZO71gZEp77+uJFraDji7nj5JFzPdbU1V5Rt1 +4X3w9MTzW5GrhIfBxcxEzPJpWC3kzMLjziezSaDMffx8v/QXLOBECsycPUxkiOOY +SPnE9j90tixtJf0BRnADUuGrxvkc3dhm2qfajpLrNdMRli5kC4AsfXXl+BDnPFvn +N63Ckw9+gSQXsM1/wYvl7AXTGVOE4Nc+V8BrA8tRJIxRiF06ndTAasRLLHMaQkmZ +QPRauZwhSHTqxFyqUZcNNde9sdYKJh8iujC4d2gBH3NZz3jCIRRxJPNZ+qW5CMjV +bJdXRRBQzoFPxgIMeEqcytVDsN7eE1HKyowacCDBJRQ50piHjiogwohGBBMRAgAG +BQJAVd4hAAoJEL+DgUO6inXxGy4AoKYAHMKfgIUN8qALJU9CqKMBNL4FAKCm43VA +mPccXmWfuWOIc9o8hN/Io4hGBBMRAgAGBQJAUeRtAAoJECxDOsJ847ZPW4YAn010 +7heapc2dIIRbjb1wkiIg1ZagAKCcLQ0+wFYAJHWe9ML8ocgz+qFHp4hGBBMRAgAG +BQJATyywAAoJEEXAIUdpq91U9NMAnA4pWkupN1/d5Xhd+PchAY6qMpSEAJ4oWBNL +0NbSdl7LRg501igSK2X+hYhGBBMRAgAGBQJAWKlMAAoJEBH0xB6z+64z8wIAoJkN +z3/whVMONH1eOe17xQD6ObkwAJwJqKuaMCzPQLaGWEt/HaLaoL8jdYhGBBMRAgAG +BQJAWK08AAoJEB2H5UlzZHz/lZgAnAhaRWv5Xx2DFyY5zEEKQ+Oh3QafAJ492pTT +UTNFX8atKfC2h/Q9jou9IIkB1wQTAQIAwQUCQF4RL4YUgAAAAAAaAGNzaWduYXR1 +cmUtbm90ZXNAcGVuZ3Vpbi5kZSJodHRwOi8vd3d3LnBlbmd1aW4uZGUvfmJiL2Nv +bnRhY3QvcGdwL3NpZ25pbmdzL25vdGVzLjc2RjczMDExMzI5RDI3REI4RDdDM0Y5 +NzRGNTg0RUI4RkIyQkUxNEYuYXNjIjMaaHR0cDovL3d3dy5wZW5ndWluLmRlL35i +Yi9jb250YWN0L3BncC9wb2xpY3kvdjEuMS8ACgkQGaJoCYg4/ZSi3wf/TA/z3MwF +XmlV5TYPPDhm0Zf5HTbkzBDPU3M00ioNRUeC1D+VJrK3MI+GwTP/r/NxXSNp5nnb +006+a4+BJZ3Zkc/3gQxiTvKlAoQ2k4si+T3XBgjKtyWcZhgaKMDlLPH5FnqhEsLi +PQDuLMIEw3PMyJiDVsPAv1vCBt3ZjV6XzXaREiORvMBN3A2ghm1534CqsdZ++g3h +IPATSTgbSKbj2vXCRPW2JWhztMFD36q+Rtcbpr6euILfrTfc1fuSOPF0Di9tTkGE +vvrVN7Zh/sLB/Mp4xMn6Jy6ATWk9mFUJcNThkxU6EcUTdcvaU74ZC9PtZfYlMVvl +wr6ycE979vik8YkBAQQTEQIAwQUCQF4RgoYUgAAAAAAaAGNzaWduYXR1cmUtbm90 +ZXNAcGVuZ3Vpbi5kZSJodHRwOi8vd3d3LnBlbmd1aW4uZGUvfmJiL2NvbnRhY3Qv +cGdwL3NpZ25pbmdzL25vdGVzLjc2RjczMDExMzI5RDI3REI4RDdDM0Y5NzRGNTg0 +RUI4RkIyQkUxNEYuYXNjIjMaaHR0cDovL3d3dy5wZW5ndWluLmRlL35iYi9jb250 +YWN0L3BncC9wb2xpY3kvdjEuMS8ACgkQqx5LYEZ1ax5CZQCfRZW13j+KRHYCxNxm +YIab/eo2wiYAn1/Zo7kDk+PoW2/NJ66OI84xwf55iEYEEBECAAYFAkBmerAACgkQ +ynDcmMIJCmJu1QCgqOxGcRTJ8OAQjVALz6cLr9idesoAoJU4eBgeD5z+GTqn/nqE +AnNiETH2iEYEExECAAYFAkBmiRMACgkQGyfXUvpJphqFzwCfZrYmCGn/EPHxvLVi +aYp7+IcoME4AnAiQIwuiQ0O//3pdBeRvA4g7RL9/iEYEExECAAYFAkB+twQACgkQ +3W6nPm/NovwcVQCgiUn+sl0bAmLP0ePf2caAbmKJ0EIAn0BlaNjvzn4hT+EQrMWH +ZYbba1k6iEYEExECAAYFAkCBcYAACgkQdK2tAWD5bo27vwCeMN6xZjAdvM+nc+mk +tG52RoUIrpoAnj/EQpP1ESGRoEOiOyGp/K53ZbQAiEkEMBECAAkFAkCDtVICHQAA +CgkQT1hOuPsr4U8fUACeJ7UEXaWPaUQ001d4OL9UO1EhSCYAnAxqI8MWtFujkJlu +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 +1y2s8SboKM9cGsNwTZHBM530qO1lTrtWT/OihVpw9XQe6RyV7pj08YChKmtDDR0u +ZagU/RHdBmmWeUmvXDtWy1UuHTaOkNr43utKZfmrx1++FkHCEt+RbiFH1CenNl4L +N7ZQi+P0/KjpLmLWCUgAC4WmHbLvwtgyapk2sWMufuqstMav9N9ccgn9yIW7ZwWA +zovgiVgfpCIx4Tu/7xWrlmK+A8iGkCQ1iX2ZL2FMEaDCE+p00ApgObhX5OxtwOG1 +ZOCkmUxx/xzlN8MuuQaErSJghb9cLHIP+8Od76XYfxhXVRX9buasOO6tE+5yrKCj +1Usve3wVRNziiEYEExECAAYFAkBVgBgACgkQydjTb2cSNSH+kQCfShlPAj1v+pTh +FdeYfrzBhmyYvcUAnA6DrHLwTAXTqE5EgIwPr62/xqLoiEYEExECAAYFAkBV3iEA +CgkQv4OBQ7qKdfF0WgCeLKm7VMLcuuNq2nLah8GkugF9QGAAoKO/WWUot60c7N0G +N8PJLPUYDEE3iEYEExECAAYFAkBR5G0ACgkQLEM6wnzjtk8HtACfbEVVTH+NmhB7 +WZNbNy+sg5CxdfoAn3rYjmBf2XmIZ4eP6WSQWPbki0OpiEYEExECAAYFAkBPLLAA +CgkQRcAhR2mr3VSwmwCcDE9ErKl/Gk91l7LbtGrF7XJ4dCoAn3BUMPof/3qYGpGn +8ZHEWv2mGJ5biEYEExECAAYFAkBYqUwACgkQEfTEHrP7rjNNBQCgrpHoqXXDQsND +meHvxVhvWWQ3Y7UAoIFypAMktFXSlSSFc/4j0QR9YHMpiEYEExECAAYFAkBYrTwA +CgkQHYflSXNkfP/v8wCfUCEaQZv6nnyeLAKy457cV6oeBCwAnRdhyWSqktWB8trK +/Mjc+7PnpWB0iQHXBBMBAgDBBQJAXhEvhhSAAAAAABoAY3NpZ25hdHVyZS1ub3Rl +c0BwZW5ndWluLmRlImh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29udGFjdC9w +Z3Avc2lnbmluZ3Mvbm90ZXMuNzZGNzMwMTEzMjlEMjdEQjhEN0MzRjk3NEY1ODRF +QjhGQjJCRTE0Ri5hc2MiMxpodHRwOi8vd3d3LnBlbmd1aW4uZGUvfmJiL2NvbnRh +Y3QvcGdwL3BvbGljeS92MS4xLwAKCRAZomgJiDj9lKVBCADZ3fO8hs/I3dWoKFz0 ++RWTysnFhVAGBKsicxdVWbrfXCDJmUbs8G7TYNpQA3gc2iYxq3MJPkSMBX9z8PaO +B+V20Y0IG3cJyZ+Cpph8QZviO6jQJTwif/uZQchblzy+uZFcqUCLYPkhCHBv8nqs +5hauyVsxze66a3CUaw/Soc4uGzJ7hki/eXuNZebqS3ycRpM/7M/mNOQNGGUDhMb7 +t/RBg+w1gEJBFQGKCDRZ/9fMgR1ct1rwPYgvznseVnT5dpgv6G7VARwwURvRnnBF +KURgZ4NYSfYe4ru8eOoy1+9W+hQGhhYKG4c6g71Fh0ClIda4hKLw9DJQIsVCxe7n +RAT/iQEBBBMRAgDBBQJAXhGChhSAAAAAABoAY3NpZ25hdHVyZS1ub3Rlc0BwZW5n +dWluLmRlImh0dHA6Ly93d3cucGVuZ3Vpbi5kZS9+YmIvY29udGFjdC9wZ3Avc2ln +bmluZ3Mvbm90ZXMuNzZGNzMwMTEzMjlEMjdEQjhEN0MzRjk3NEY1ODRFQjhGQjJC +RTE0Ri5hc2MiMxpodHRwOi8vd3d3LnBlbmd1aW4uZGUvfmJiL2NvbnRhY3QvcGdw +L3BvbGljeS92MS4xLwAKCRCrHktgRnVrHokCAKCcTZVbwigIeDP8axgG9o/RCE0D +OgCePMJjbncNSbIZJTfp3XW7qSnZejeIRgQTEQIABgUCQGMymAAKCRAoY71nNVGG +qgoKAJ48LdYjn6AEWq6VfXWdON9Owgw2wgCbBX7R86W398GsFMNJ2WA61qb6a9mI +RgQQEQIABgUCQGZ6sAAKCRDKcNyYwgkKYlKoAKCQgIpopv4asGpEVKZ45LoLRARb +AgCeNBlvkrR5AIpzJhF9y2TNPc+sbYmIRgQTEQIABgUCQGaJEwAKCRAbJ9dS+kmm +GvheAJ0aJbcXVWMHmpX7WOy12yEhZwmuhACbBAm/ppwz09iuyaqUU8pTZTUTJ7iI +RgQTEQIABgUCQH63BAAKCRDdbqc+b82i/J+FAJ9LKcg/52uZ2bo1V10kc8aiG96W +wgCeI2ej6l7SDktv3kza9SE2i2lRK7uIRgQTEQIABgUCQIP1zQAKCRB0ra0BYPlu +jY0eAKDqeK20TlWscO2O/HcxedGKZae9OQCffdlEnKGmtbC0i8icrG8G+dMJ7I6I +RgQTEQIABgUCQJDlRgAKCRBjVTjfc24zuoQgAJsExSBEIY808mDPVfhfq3BH78mS +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 +v5oo1MHwHq+PpQ== +=n02/ +-----END PGP PUBLIC KEY BLOCK----- + + diff --git a/libTMCG.spec b/libTMCG.spec new file mode 100644 index 0000000..09d54e1 --- /dev/null +++ b/libTMCG.spec @@ -0,0 +1,160 @@ +# +# spec file for package libTMCG +# +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2012 Andreas Stieger +# Copyright (c) 2007 pc2pus +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +%define sover 5 +Name: libTMCG +Version: 1.3.0 +Release: 0 +Summary: C++ library for creating secure and fair online card games +License: GPL-2.0+ +Group: System/Libraries +Url: http://www.nongnu.org/libtmcg/ +Source: http://download.savannah.gnu.org/releases/libtmcg/%{name}-%{version}.tar.gz +Source2: http://download.savannah.gnu.org/releases/libtmcg/%{name}-%{version}.tar.gz.sig +Source3: http://savannah.nongnu.org/project/memberlist-gpgkeys.php?group=libtmcg&download=1#/%{name}.keyring +BuildRequires: gcc-c++ +BuildRequires: gmp-devel >= 4.2 +BuildRequires: libgcrypt-devel >= 1.6.0 +BuildRequires: libgpg-error-devel >= 0.5 +BuildRequires: pkgconfig +Requires: gmp >= 4.2 +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +LibTMCG is a C++ library for creating secure and fair online card +games. The library contains a sort of useful classes, algorithms, +and high-level protocols to support an application programmer in +writing such software. The most remarkable feature is the absence +of a trusted third party (TTP), i.e. neither a central game server +nor trusted hardware components are necessary. Thus, with the present +library there is no need for an independent referee, because the +applied protocols provide a basic level of confidentiality and +fairness by itself. Consequently, the library is well-suited for +peer-to-peer (P2P) environments where no TTP is available. Of +course, we cannot avoid that malicious players share information +about their private cards, but the protocols ensure that the shuffle +of the deck is performed randomly (presumed that at least one player +is honest) and thus the cards will be distributed uniformly among +the players. Further, no coalition can learn the private cards of a +player against his will (except for trivial conclusions). The +corresponding cryptographic problem, actually called Mental Poker, has +been studied since 1979 (Shamir, Rivest, and Adleman) by many authors. +LibTMCG provides the first practical implementation of such protocols. + +The implementation relies on advanced cryptographic techniques---the +so-called zero-knowledge proofs. Using these building blocks the high +level protocols minimize the effect of coalitions and preserve the +confidentiality of the players' strategy, i.e. the players are not +required to reveal their cards at the end of the game to show that +they did not cheat. + +%package -n libTMCG%{sover} +Summary: C++ library for creating secure and fair online card games +Group: System/Libraries + +%description -n libTMCG%{sover} + +LibTMCG is a C++ library for creating secure and fair online card +games. The library contains a sort of useful classes, algorithms, +and high-level protocols to support an application programmer in +writing such software. The most remarkable feature is the absence +of a trusted third party (TTP), i.e. neither a central game server +nor trusted hardware components are necessary. Thus, with the present +library there is no need for an independent referee, because the +applied protocols provide a basic level of confidentiality and +fairness by itself. Consequently, the library is well-suited for +peer-to-peer (P2P) environments where no TTP is available. Of +course, we cannot avoid that malicious players share information +about their private cards, but the protocols ensure that the shuffle +of the deck is performed randomly (presumed that at least one player +is honest) and thus the cards will be distributed uniformly among +the players. Further, no coalition can learn the private cards of a +player against his will (except for trivial conclusions). The +corresponding cryptographic problem, actually called Mental Poker, has +been studied since 1979 (Shamir, Rivest, and Adleman) by many authors. +LibTMCG provides the first practical implementation of such protocols. + +The implementation relies on advanced cryptographic techniques---the +so-called zero-knowledge proofs. Using these building blocks the high +level protocols minimize the effect of coalitions and preserve the +confidentiality of the players' strategy, i.e. the players are not +required to reveal their cards at the end of the game to show that +they did not cheat. + +%package devel +Summary: Libraries, includes etc to develop with libTMCG library +Group: Development/Libraries/C and C++ +Requires: %{name}%{sover} = %{version} +Requires(post): %{install_info_prereq} +Requires(preun): %{install_info_prereq} + +%description devel +Libraries, includes etc to develop with the libTMCG library. + +%package utils +Summary: Utilities from the TMCG libraries +Group: Productivity/Security + +%description utils +Utilities from the TMCG library, including experimental tools for +distributed key generation. + +%prep +%setup -q + +%build +%configure +make %{?_smp_mflags} + +%install +%make_install + +find %{buildroot} -type f -name "*.la" -delete -print + +%post -n libTMCG%{sover} -p /sbin/ldconfig +%postun -n libTMCG%{sover} -p /sbin/ldconfig +%post devel +%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz + +%postun devel +%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz + +%files -n libTMCG%{sover} +%defattr(-, root, root) +%doc AUTHORS BUGS ChangeLog COPYING NEWS PATENTS THANKS TODO README +%{_libdir}/lib*.so.* + +%files devel +%defattr(-, root, root) +%doc AUTHORS BUGS ChangeLog COPYING NEWS PATENTS THANKS TODO README +%{_bindir}/%{name}-config +%{_libdir}/lib*.a +%{_libdir}/lib*.so +%{_includedir}/*.h* +%{_datadir}/aclocal/%{name}.m4 +%{_infodir}/%{name}.info%{ext_info} + +%files utils +%defattr(-, root, root) +%doc AUTHORS BUGS ChangeLog COPYING NEWS PATENTS THANKS TODO README +%{_bindir}/dkg-* +%{_mandir}/man1/dkg-*.1%{ext_man} + +%changelog